需要安装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'))
网友评论