python实现rsa非对称加密解密签名及验证代码
代码语言:python
所属分类:其他
代码描述:python实现rsa非对称加密解密签名及验证代码
代码标签: python rsa 非对称 加密 解密 签名 验证 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import base64 from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_PKC from Crypto import Random from Crypto.Hash import SHA256 from Crypto.Signature import PKCS1_v1_5 as Signature_PKC class HandleRSA(): def create_rsa_key(self): """ 创建RSA密钥 步骤说明: 1、从 Crypto.PublicKey 包中导入 RSA,创建一个密码 2、生成 1024/2048 位的 RSA 密钥 3、调用 RSA 密钥实例的 exportKey 方法,传入密码、使用的 PKCS 标准以及加密方案这三个参数。 4、将私钥写入磁盘的文件。 5、使用方法链调用 publickey 和 exportKey 方法生成公钥,写入磁盘上的文件。 """ # 伪随机数生成器 random_gen = Random.new().read # 生成秘钥对实例对象:1024是秘钥的长度 rsa = RSA.generate(1024, random_gen) # Server的秘钥对的生成 private_pem = rsa.exportKey() with open("server_private.pem", "wb") as f: f.write(private_pem) public_pem = rsa.publickey().exportKey() with open("server_public.pem", "wb") as f: f.write(public_pem) # Client的秘钥对的生成 private_pem = rsa.exportKey() with open("client_private.pem", "wb") as f: f.write(private_pem) public_pem = rsa.publickey().exportKey() with open("client_public.pem", "wb") as f: f.write(public_pem) # Server使用Client的公钥对内容进行rsa 加密 def encrypt(self, plaintext): """ client 公钥进行加密 plaintext:需要加密的明文文本,公钥加密,私钥解密 """ # 加载公钥 rsa_key = RSA.import_key(op.........完整代码请登录后点击上方下载按钮下载查看
网友评论0