TypeError:在散列python2工作但py3不工作之前,必须对Unicode对象进行编码

2024-05-23 15:42:12 发布

您现在位置:Python中文网/ 问答频道 /正文

Python2工作正常,但py3不工作

hashlib.sha256(re.sub('[^a-zA-Z0-9]', "", each_user["Merchandiser"]).lower()[
                                           :4].capitalize() + "@123").hexdigest()

Tags: repy3lowerhashlibeachsha256python2user
2条回答

在调用hexdigest之前,需要对字符串进行编码

请尝试以下操作:

import hashlib

hashlib.sha256(
    (
        re.sub('[^a-zA-Z0-9]', "", each_user["Merchandiser"]
              ).lower()[:4].capitalize() + "@123"
    ).encode("utf-8")
).hexdigest()

这里的“每个用户”是什么类型

我认为你需要对sha256参数进行编码

hashlib.sha256((re.sub('[^a-zA-Z0-9]', "", each_user["Merchandiser"]).lower()[:4].capitalize() + "@123").encode())

如果

each_user["Merchandiser"]

是str

相关问题 更多 >