Python比较两个十六进制值

2024-10-02 08:16:45 发布

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

我正在使用pythons md5库在Map Reduce程序中散列我的名字和一系列nonce。我试图确定md5摘要的十六进制输出是否至少有5个前导0。md5输出的字符串长度为32位,表示哈希。我不知道如何将这个字符串与十六进制值进行比较。在

我知道我需要十六进制值进行比较,以及将哈希输出转换为十六进制值的方法。在

我认为要比较的十六进制值应该是0x00000100000000000000000000000000(这是31 0,前面第五位是1)?但我不知道如何用python表示它。在

另外,如何将十六进制字符串转换为实际的十六进制值?在

到目前为止,我已经从我的程序中打印了一些

10ad52a892674c28ad1de4343e79c232
582d84d589a5fd57df22a8449ac70329
dda932d448b07d048f7e52be4a8234db
04e982c9890a402e248a6e5ef07c9ac4
a86bf64393f1c494a8ac3520c0abf29a

Tags: 方法字符串程序mapreduce名字md5nonce
2条回答

为什么不使用字符串比较,如

if digest.hexdigest()[:5] == '0' * 5:
   # ...

其中digest是MD5摘要对象。在

要将十六进制字符串转换为整数值,可以使用int,如果指定基:

>>> int("10ad52a892674c28ad1de4343e79c232", 16)
22167591802313671423113693555584516658

相关问题 更多 >

    热门问题