我需要使用 python 3 计算整数的哈希值。是否有比以下更清晰、更有效的解决方案?
>>> import hashlib
>>> N = 123
>>> hashlib.md5(str(N).encode("ascii")).hexdigest()
'202cb962ac59075b964b07152d234b70'
必须转换为 unicode 字符串,然后将其解码为字节数组似乎很奇怪。
最佳答案
诸如 MD5 之类的加密散列只能应用于字节。有更有效的方法将数字编码为字节,但您仍然需要遵守约定。
>>> hashlib.md5(int(-123).to_bytes(8, 'big', signed=True)).hexdigest()
'fc1063e1bcb35f0d52cdceae4626c39b'
关于python-3.x - 在python 3中计算整数的MD5哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40406954/