好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python密码学RSA密码加密教程

在本章中,我们将重点介绍RSA密码加密的不同实现及其所涉及的功能.您可以引用或包含此python文件以实现RSA密码算法实现.

加密算法模块 

加密算法包含的模块如下 

from?Crypto.PublicKey?import?RSA
from?Crypto.Cipher?import?PKCS1_OAEP
from?Crypto.Signature?import?PKCS1_v1_5
from?Crypto.Hash?import?SHA512,?SHA384,?SHA256,?SHA,?MD5
from?Crypto?import?Random
from?base64?import?b64encode,?b64decode
hash?=?"SHA-256"

哈希值初始化

为了更好的安全性,我们将哈希值初始化为SHA-256.我们将使用函数生成新密钥或一对公钥和私钥.

使用以下代码.

def?newkeys(keysize):
???random_generator?=?Random.new().read
???key?=?RSA.generate(keysize,?random_generator)
???private,?public?=?key,?key.publickey()
???return?public,?private
def?importKey(externKey):
???return?RSA.importKey(externKey)

函数algorithm

对于加密,在RSA之后使用以下函数algorithm:

def?encrypt(message,?pub_key):
???cipher?=?PKCS1_OAEP.new(pub_key)
???return?cipher.encrypt(message)

两个参数是必需的:消息和 pub_key ,它指的是公钥.公钥用于加密,私钥用于解密.

加密程序的完整代码

from?Crypto.PublicKey?import?RSA
from?Crypto.Cipher?import?PKCS1_OAEP
from?Crypto.Signature?import?PKCS1_v1_5
from?Crypto.Hash?import?SHA512,?SHA384,?SHA256,?SHA,?MD5
from?Crypto?import?Random
from?base64?import?b64encode,?b64decode
hash?=?"SHA-256"
def?newkeys(keysize):
???random_generator?=?Random.new().read
???key?=?RSA.generate(keysize,?random_generator)
???private,?public?=?key,?key.publickey()
???return?public,?private
def?importKey(externKey):
???return?RSA.importKey(externKey)
def?getpublickey(priv_key):
???return?priv_key.publickey()
def?encrypt(message,?pub_key):
???cipher?=?PKCS1_OAEP.new(pub_key)
???return?cipher.encrypt(message)

以上就是python密码学RSA密码加密教程的详细内容,更多关于python密码学RSA加密的资料请关注其它相关文章!

查看更多关于python密码学RSA密码加密教程的详细内容...

  阅读:61次