使用该digest()
方法的 sha512 哈希值不等于 PHP 中使用 sha512 的 hash_hmac。
Python:
print base64.b64encode(hmac.new("key".encode("ascii"),"hello".encode("ascii"), hashlib.sha512).digest())
PHP:
<?php
echo base64_encode(hash_hmac('sha512', "hello", "key"));
?>
如果我hexdigest()
在 python 中使用方法代替digest()
方法,那么哈希结果是相同的。我需要使用该digest()
方法,那么 php 中是否有任何等效的方法可以得到相同的哈希结果?
我猜想digest()
在 Python 中将哈希作为二进制字符串hash_hmac
返回,而在 PHP 中返回十六进制编码的字符串。所以在 PHP 中你会做这样的事情:
echo base64_encode(hex2bin(hash_hmac('sha512', "hello", "key")));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句