【发布时间】:2021-07-10 19:51:05
【问题描述】:
我在转换这个 Python 2 代码时遇到了一些问题:
import md5
steamid=76561197960435530
temp = ""
for i in range(8):
temp += chr((steamid & 0xFF))
steamid >>= 8
m = md5.new("BE"+temp)
print m.hexdigest()
进入 Python 3,上面代码的结果是 'a071c58205ec529c5c19fa7dadcaae93'。但是,当我尝试使用 hashlib 库在 Python 3 中重现相同的代码时,我得到了完全不同的回报。我希望它返回与 Python 2 代码完全相同的内容。 这是我在 Python 3 中重现代码的尝试:
from hashlib import md5
steamid = 76561197960435530
temp = ""
for i in range(8):
temp += chr((steamid & 0xFF))
steamid >>= 8
m = md5()
m.update(("BE"+temp).encode())
print(m.hexdigest())
返回 'a96d4d4b56a3b5c1a747e01dd7045c6d' 这不是我希望它返回的。
【问题讨论】:
标签: python python-3.x md5 python-2.x