gpt4 book ai didi

python - 如何使用 sha-512 生成 hmac?

转载 作者:行者123 更新时间:2023-12-01 06:27:44 26 4
gpt4 key购买 nike

所以,我正在编写一个 python 程序,实际上是我的第一个“大”程序,在某个时刻,需要从消息和 key 生成带有 sha-512 的 hmac。

假设我有:

key = 'ff'
seed = '238973:a665f3e641d9a402df3f9d5d9a236cb8061a2437ee47de8b3c8091774484b8b3:238973'
bkey = key.encode()
bseed = seed.encode()
string = hmac.new(bKey, bSeed, 'sha3_512')
digest = string.hexdigest()
print(str(digest))
>>>92b6c5ccc654c21838cb72e932de0feaf898398300e9755b2c91553c9db0bea99a5139055b5471142b299361c6ece4b51f2f26777a6f18f0db27775625e6948f

但是当我去https://www.freeformatter.com/hmac-generator.html#ad-output时它给了我另一个结果:

249667dabafbd3fa123b9749c6b23bc90c935e30e1372f26bbab2defa791fc915d60d406efe1b165befd4a1b6dc34fcf2f0975db08a7a2938964e99ea0419dcf

我知道事实是正确的,有人可以解释一下为什么吗?我已经在网上查了好几个小时了,但似乎我在兜圈子,或者我没有完全掌握 hmac 的工作原理。我非常感谢您的帮助,这是我完成这个程序所缺少的唯一一点。

最佳答案

sha3_512sha512 的实现不同 - 第一个基于 SHA-3 ,而第二个基于 the older SHA-2 standard 。创建 hmac 以使用 SHA-2 版本时,请改用 sha512:

>>> hmac.new(b'ff', b'238973:a665f3e641d9a402df3f9d5d9a236cb8061a2437ee47de8b3c8091774484b8b3:238973', hashlib.sha512).hexdigest()
'249667dabafbd3fa123b9749c6b23bc90c935e30e1372f26bbab2defa791fc915d60d406efe1b165befd4a1b6dc34fcf2f0975db08a7a2938964e99ea0419dcf'

关于python - 如何使用 sha-512 生成 hmac?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60055754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com