【发布时间】:2016-05-08 07:09:51
【问题描述】:
我正在从 Python 2 迁移到 Python 3,想知道现在是否需要对每个字符串文字进行编码,然后才能对其进行哈希处理。示例代码将在 Python 2 下完美运行:
import hashlib
string = "robots"
hashlib.md5(string).hexdigest()
但是,使用 Python 3,它会抛出一个 TypeError: Unicode-objects must be encoded before hashing,所以我必须在每个字符串之后附加一个 .encode(),或者我在这里遗漏了什么?
【问题讨论】:
-
string = b"robots"(string是标准库模块,变量名是个坏主意)
标签: python python-3.x hash encoding encode