SHA256与HMAC空消息

2024-09-29 07:20:55 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么这些函数返回不同的值?在

from hashlib import sha256
import hmac

seed = "seed".encode('utf-8')

def genSHA256():
    return = sha256(seed).hexdigest()
    #19b25856e1c150ca834cffc8b59b23adbd0ec0389e58eb22b3b64768098d002b

def genHMACsha256():
    return hmac.new(seed, b"", sha256).hexdigest()
    #2ad1ced5a9ef8e90bce26c0ac9fae5af5e4b4442b2315ed58bf772a54e24fd50

如果我在HMAC的消息值中放入空字符串,为什么不返回与简单SHA256相同的值? 这两个值是否相关?在


Tags: 函数fromimportnewreturndefhmacutf
1条回答
网友
1楼 · 发布于 2024-09-29 07:20:55

当使用HMAC时,种子被ipad和{}屏蔽,而HMAC由两个散列迭代组成,即使在空字符串上使用HMAC。在

基本上,从hash函数获得与HMAC相同的结果的唯一方法是使用它来构建HMAC-因为HMAC定义只使用hash作为安全的原始函数。在

相关问题 更多 >