一 模块简介
1.简介
python的Crypto模块是安全hash函数(例如SHA256 和RIPEMD160)以及各种主流的加解密算法的((AES, DES, RSA, ElGamal等)的集合。
二 实例解析
1.AES实例
from os import urandom from Crypto.Cipher import AES # For Generating cipher text secret_key = urandom(16) iv = urandom(16) obj = AES.new(secret_key, AES.MODE_CBC, iv) # Encrypt the message message = b'Xu sheng test me' print('Original message is: ', message) encrypted_text = obj.encrypt(message) print('The encrypted text', encrypted_text)
输出结果:
Original message is: b'Xu sheng test me' The encrypted text b'\x80\xaf\x93\xef\xd6\xab\xe4t\xad\xdf\xfbgChSt'
2. AES解密
from os import urandom from Crypto.Cipher import AES # For Generating cipher text secret_key = urandom(16) iv = urandom(16) obj = AES.new(secret_key, AES.MODE_CBC, iv) # Encrypt the message message = b'Lorem Ipsum text' print('Original message is: ', message) encrypted_text = obj.encrypt(message) print('The encrypted text', encrypted_text) # Decrypt the message rev_obj = AES.new(secret_key, AES.MODE_CBC, iv) decrypted_text = rev_obj.decrypt(encrypted_text) print('The decrypted text', decrypted_text.decode('utf-8'))
输出结果:
Original message is: b'Lorem Ipsum text' The encrypted text b'\xe9\xfcC\xb3\x132&n\xc7\xdeZe9\xeb\xab\xf3' The decrypted text Lorem Ipsum text
三 注意事项
1.错误:
TypeError: Object type <class 'str'> cannot be passed to C code
解决方案:
AES_KEY、IV还有要加密的数据转换成bytes类型就可以了。
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2020-05-17 单麦克风远场语音降噪解决方案
2018-05-17 python在不同层级目录import模块的方法
2018-05-17 debian安装tftp服务