我正在尝试派生一个函数,该函数将返回SHA1哈希的最不重要的4个字节。
例如,给定以下SHA1哈希:
f552bfdca00b431eb0362ee5f638f0572c97475f (hex digest)
\xf5R\xbf\xdc\xa0\x0bC\x1e\xb06.\xe5\xf68\xf0W,\x97G_ (digest)
我需要派生一个函数,从哈希中提取最后一个重要的4个字节并产生:
E456406 (hex)
239428614 (dec)
到目前为止,我已经尝试了Get the x Least Significant Bits from a String in Python和Reading least significant bits in Python中描述的解决方案。
但是,结果值不一样。
答案 0 :(得分:0)
如果你想要sha1值f552bfdca00b431eb0362ee5f638f0572c97475f
中最不重要的4个字节(8个十六进制字符),请使用二进制掩码:
sha1_value = 0xf552bfdca00b431eb0362ee5f638f0572c97475f
mask = 0xffffffff
least_four = sha1_value & mask # 0x2c97475f