Error[8]: Undefined offset: 2, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述python3.5 使用pycryptodome替换pyCyrpto

介绍

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
python3.5 使用pycryptodome替换pyCyrpto_python_内存溢出

python3.5 使用pycryptodome替换pyCyrpto

python3.5 使用pycryptodome替换pyCyrpto,第1张

概述python3.5 使用pycryptodome替换pyCyrpto

介绍

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1198393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存