环境: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加密,简单案例】
文章图片
接下来就是加密步骤:
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=https://www.it610.com/article/{"a":1,"b":2}
# 获取加密结果
private_result = xinyan_encrypt(req_data, private_key)
print(private_result)
推荐阅读
- delphi|Delphi编写网络程序的安全措施
- TcpIp|关于GRE封装...
- 信息安全|对于参加信息安全全国邀请赛课题选择的一些看法
- SpringBoot|前端向后端提交密码等敏感信息时先做编码再提交