python - 使用python将数字字符串转换为MD5

标签 python md5 geohashing

受到 XKCD geohashing 漫画 (http://imgs.xkcd.com/comics/geohashing.png) 的启发,我想我可以尝试用 Python 编写一个生成器。不过,我已经遇到了它的主要部分的障碍:转换为 MD5,然后转换为十进制。

有可能吗?

最佳答案

edit: 看了漫画后这里有一个更完整的解决方案 XKCD geohashing :

>>> md5 = hashlib.md5('2005-05-26-10458.68').hexdigest()     # get MD5 as hex string
>>> float.fromhex('0.' + md5[:16])                           # first half as float
0.85771326770700229
>>> float.fromhex('0.' + md5[16:])                           # second half as float
0.54454306955928211

这里是“转换为 MD5 然后转换为十进制”的更一般的答案:

假设您想要字符串 'hello world' 的十进制 MD5,您可以使用以下内容:

>>> int(hashlib.md5('hello world').hexdigest(), 16)
125893641179230474042701625388361764291L

hash.hexdigest()函数返回一个十六进制字符串,而 int(hex_str, 16) 就是您可以 convert a hexadecimal string to a decimal 的方式.

关于python - 使用python将数字字符串转换为MD5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107169/

相关文章:

Python 快速计算很多距离

machine-learning - 将 geohash_decode 函数应用于数据框中的列

python - 如何根据损失值告诉 Keras 停止训练?

python - 如何在浏览器中显示 linux 日志文件中的行

python - 使用 SQLAlchemy 删除和读取索引

Python 2 vs 3。相同的输入,不同的结果。 MD5哈希

python - 给定正弦拟合的预测值

python - 在 Linux 中用 Python 读取 EXE、MSI 和 ZIP 文件元数据

java - 在 Java 和 C 上重现相同 HMAC MD5 的问题

google-app-engine - 如何计算可视区域/边界框的geohash?