Python hashlib Unicode-objects must be encoded before hashing

mac2022-06-30  122

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上百实例源码以及开源项目
最新回复(0)