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

最新文章

  1. Swift设置textView的行间距
  2. 【原创】.NET读写Excel工具Spire.Xls使用(3)单元格控制
  3. 错误 1 “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制
  4. Unity3D所使用的第三方工具
  5. java web用于保持状态的4种方法
  6. mysql控制台操作
  7. MVC 路由模块分析(一)
  8. Just Have a Change
  9. TweenMax动画库学习(六)
  10. 《ruby编程语言》笔记2 对象
  11. 红外 IR 协议原理分析
  12. 响应式网站-全屏banner响应的2中方法 - 被吃掉的banner
  13. 探索 Java 热部署
  14. UNIX网络编程——客户/服务器心搏函数
  15. JavaScript(JS)之Javascript对象DOM(三)
  16. loadrunner&#160;运行场景-命令行运行场景
  17. QPainter、QPainterPath、QBrush
  18. flask开发微信公众号
  19. 【BATJ面试必会】Java 基础篇
  20. 偏前端 - jquery-iframe内触发父窗口自定义事件-

热门文章

  1. 解读Flex布局及其基本使用
  2. 本地文件名大写,提交到git仓库后变成了小写
  3. deecms栏目页调用自定义字段方法
  4. javascript 高阶函数 currying &amp; uncurrying
  5. three.js 纹理动画实现
  6. Hbuilder 生成移动App资源升级包
  7. MFC修改窗口图标
  8. python3之cx_Freeze使用(PyQt5)
  9. Vite插件开发纪实:vite-plugin-monitor(上)
  10. Redis基础数据结构-基于2.8