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
转载于:https://www.cnblogs.com/vercont/p/10210168.html
相关资源:JAVA上百实例源码以及开源项目