python实现RSA加密,简单案例

环境:python3.6

第三方库:M2Crypto  这个库windows上很难装,linux上直接用pip install

 

首先获取一对秘钥,具体生产秘钥方式百度上有在线工具。

然后将生成的.pfx秘钥文件转化成pem可读文件,

具体方法:

下载工具openssl,在openssl下使用命令:openssl pkcs12 -in 8000013189_pri.pfx -out 8000013189_pri.pem -nodes ,输入密码 例如: 

打开转化后的.pem文件内容大致如下:

python实现RSA加密,简单案例_第1张图片

接下来就是加密步骤:

def xinyan_encrypt(digest, private_key):
    digest=base64.b64encode(digest.encode('utf-8'))
    print("base64加密后:%s"%digest)
    result = b""
    if len(digest)>117:
        while (len(digest) > 117):
            some = digest[0:117]
            digest = digest[117:]
            print(some)
            result += private_key.private_encrypt(some, M2Crypto.RSA.pkcs1_padding)
        result += private_key.private_encrypt(digest, M2Crypto.RSA.pkcs1_padding)
    else:
        result = private_key.private_encrypt(digest, M2Crypto.RSA.pkcs1_padding)
    result=binascii.b2a_hex(result)
    return result

# 将生成的.pem秘钥文件放在同级目录,获取私钥
private_key=M2Crypto.RSA.load_key('8000013189_pri.pem')
# 定义加密内容
req_data={"a":1,"b":2}
# 获取加密结果
private_result = xinyan_encrypt(req_data, private_key)
print(private_result)

 

你可能感兴趣的:(加密)