Python hashlib Unicode-objects must be encoded before hashing
2024-09-05 14:48:23
Python2中没有这个问题
python3中
hashlib.md5(data)函数中data 参数的类型应该是bytes
hash前必须把数据转换成bytes类型
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from hashlib import md5
>>> name = md5("hello")
>>> print(name.hexdigest())
5d41402abc4b2a76b9719d911017c592
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from hashlib import md5
>>> name = md5("hello")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Unicode-objects must be encoded before hashing
>>> name = md5("hello".encode("utf-8"))
>>> print(name.hexdigest())
5d41402abc4b2a76b9719d911017c592
最新文章
- Swift设置textView的行间距
- 【原创】.NET读写Excel工具Spire.Xls使用(3)单元格控制
- 错误	1	“System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制
- Unity3D所使用的第三方工具
- java web用于保持状态的4种方法
- mysql控制台操作
- MVC 路由模块分析(一)
- Just Have a Change
- TweenMax动画库学习(六)
- 《ruby编程语言》笔记2 对象
- 红外 IR 协议原理分析
- 响应式网站-全屏banner响应的2中方法 - 被吃掉的banner
- 探索 Java 热部署
- UNIX网络编程——客户/服务器心搏函数
- JavaScript(JS)之Javascript对象DOM(三)
- loadrunner&#160;运行场景-命令行运行场景
- QPainter、QPainterPath、QBrush
- flask开发微信公众号
- 【BATJ面试必会】Java 基础篇
- 偏前端 - jquery-iframe内触发父窗口自定义事件-