python中RSA加密

2021-03-12  本文已影响0人  无谓着

需要安装Crypto,通常装上去用的时候会报错,应该安装pycrypto
先卸载Crypto和pycrypto(pycrypto根本就没安装上,如果你运气好安装上了,那么恭喜你)

pip uninstall Crypto
pip uninstall pycrypto

然后安装第三方库pycryptodome

pip install pycryptodome

在进行加密时会报错

# [startTime = time.clock()AttributeError: module 'time' has no attribute 'clock]

此时需要去替换库里的time.clock()方法,python3.8不支持clock了,替换成time.perf_counter()替换就可以了

加密方法

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
import base64
 
# 加密
message = "Hello,This is RSA加密"   #加密内容
#rsakey = RSA.importKey(open("public.pem").read())   
rsakey = RSA.importKey('''-----BEGIN RSA PRIVATE KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbzJ7yfLUsuYEx7d3Sx1a4ulHmrkBLmnVaiJ7t+ZEo3VzxZBe8v8mmEaordJ2E1OSyydaBu8sL4ZJQH1k4uyozTeQWm3rpm2hN/OIUTmeXJmSIHLcVNld7K7CaSNFYrIrelyN/SNf6d+naLVGgdBGvuZxJ4zcfdmAvSxxxxxxxxxxx
-----END RSA PRIVATE KEY-----''')
cipher = Cipher_pkcs1_v1_5.new(rsakey)     #创建用于执行pkcs1_v1_5加密或解密的密码
cipher_text = base64.b64encode(cipher.encrypt(message.encode('utf-8')))
print(cipher_text.decode('utf-8'))
上一篇下一篇

猜你喜欢

热点阅读