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