python-3.x - 在python 3中计算整数的MD5哈希?

标签 python-3.x md5

我需要使用 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/

相关文章:

python-3.x - 如何创建元组的循环引用?

python-3.x - 在env.render()之后出现OpenAI错误

python - 将列表更改为 int

python - 如何安全地运行另一个Python文件?

linux - 没有元数据的 tar 存档

python-3.x - tf.gradients() 是如何工作的?

ruby-on-rails - Rails,生成记录 ID 的 MD5 散列值并保存

javascript - 为什么 canvas.toDataURL() 不会为图像生成与 Ruby 中相同的 base64?

python - 使用 MD5 校验和在多个硬盘驱动器上搜索重复文件是否安全?

java - 使用 md5 哈希密码 Smack 登录 Openfire