python 中的 md5 十六进制到二进制
md5 hex to binary in python
我阅读了很多关于在 SO 中将十六进制转换为二进制的答案。我尝试用 md5:
实现它
import hashlib
c = hashlib.md5("123hello123".encode('ascii'))
print(c.hexdigest())
for _hex in c.hexdigest():
_hex = int(_hex, 16)
print(bin(_hex)[2:], end="")
我得到输出:
b303fa684382db471658016690101792
1011110111111101011010001001110001011011011100111111010110000111011010010101111100110
当我在在线转换器中转换时,我得到:
10110011000000111111101001101000010000111000001011011000000000000000000000000000000000000000000000000000000000000000000000000000
正确答案是什么?我应该如何更正我的程序?
bin
函数不包含前导零,而每个十六进制字符始终表示 4 个二进制数字。 bin(_hex)[2:].rjust(4,"0")
会起作用。
我阅读了很多关于在 SO 中将十六进制转换为二进制的答案。我尝试用 md5:
实现它import hashlib
c = hashlib.md5("123hello123".encode('ascii'))
print(c.hexdigest())
for _hex in c.hexdigest():
_hex = int(_hex, 16)
print(bin(_hex)[2:], end="")
我得到输出:
b303fa684382db471658016690101792 1011110111111101011010001001110001011011011100111111010110000111011010010101111100110
当我在在线转换器中转换时,我得到:
10110011000000111111101001101000010000111000001011011000000000000000000000000000000000000000000000000000000000000000000000000000
正确答案是什么?我应该如何更正我的程序?
bin
函数不包含前导零,而每个十六进制字符始终表示 4 个二进制数字。 bin(_hex)[2:].rjust(4,"0")
会起作用。