Php's md5 function采用可选的第二个参数,如果为真,则返回长度为 16 的较小散列,而不是正常的 32 字符长散列。
我们如何使用 python 的 hashlib.md5 做同样的事情。
请您参考如下方法:
“可选的第二个参数,如果为真,则返回长度为 16 的较小散列,而不是正常的 32 字符长散列。”
这不是真的:第二个参数 $raw_output指定输出是否应为 hexadecimal (十六进制)编码或原始 binary字符串。哈希长度不变,但编码字符串的长度不变。
import hashlib
digest = hashlib.md5("asdf").digest() # 16 byte binary
hexdigest = hashlib.md5("asdf").hexdigest() # 32 character hexadecimal
第一个应该只在您的代码中使用,而不是呈现给用户,因为它将包含不可打印的字符。这就是为什么如果您想向用户显示哈希,您应该始终使用 hexdigest 函数。
