介绍
1.在之前的AES加密中,python2或者3.4采用的是pyCyrpto这个模块,但是昨天废了好大劲去安装它都是失败,而经过大量查阅发现此库已经停止维护了,在安装过程中尽管用pip install pycryto 去下载,对应的tar.gz可以下载,但是在自动安装时会报错,说是没有微软2014的工具环境。
2.经查阅,发现pyCyrpto库的后续分支,有一个叫pyCryptodome的库,是前代的延伸版,下面给出一个全面的地址,如果有pip安装不了的库可以通过此网站进行对应的下载。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
pip安装方法:
pip install pycryptodome
demo代码
#AES-demoimport base64from Crypto.Cipher import AES'''采用AES对称加密算法'''# str不是16的倍数那就补足为16的倍数def add_to_16(value): while len(value) % 16 != 0: value += '' return str.encode(value) # 返回bytes#加密方法def encrypt_oracle(): # 秘钥 key = '123456' # 待加密文本 text = 'abc123def456' # 初始化加密器 aes = AES.new(add_to_16(key), AES.MODE_ECB) #先进行aes加密 encrypt_aes = aes.encrypt(add_to_16(text)) #用base64转成字符串形式 encrypted_text = str(base64.encodebytes(encrypt_aes), enCoding='utf-8') # 执行加密并转码返回bytes print(encrypted_text)#解密方法def decrypt_oralce(): # 秘钥 key = '123456' # 密文 text = 'qR/TQk4INsWeXdMSbCDDdA==' # 初始化加密器 aes = AES.new(add_to_16(key), AES.MODE_ECB) #优先逆向解密base64成bytes base64_decrypted = base64.decodebytes(text.encode(enCoding='utf-8')) # decrypted_text = str(aes.decrypt(base64_decrypted),enCoding='utf-8') # 执行解密密并转码返回str print(decrypted_text)if __name__ == '__main__': # encrypt_oracle() decrypt_oralce()
原文:https://blog.csdn.net/s740556472/article/details/78778522
以上是内存溢出为你收集整理的python3.5 使用pycryptodome替换pyCyrpto全部内容,希望文章能够帮你解决python3.5 使用pycryptodome替换pyCyrpto所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)