消息中的 Hmac 与摘要中的 HMac
Hmac in message vs HMac in digest
当我遇到这段 Python 代码时,我正在学习密码学的基础知识
if self.shared_hash != None:
h = HMAC.new(self.shared_hash)
hmac = data[:h.digest_size*2] #Get the HMAC part of the message
data = data[h.digest_size*2:] # Get the data part of the message
h.update(data)
if h.hexdigest() != str(hmac, 'ascii'): #HMAC is not right, so raise an error
if self.verbose:
print("Bad message")
print("HMAC from message:",str(hmac,'ascii'))
print("HMAC from digest:",h.hexdigest())
print("Not verifying message:",data)
raise RuntimeError("Bad message: HMAC does not match")
由于HMAC 是检查消息的真实性,我明白检查HMAC 很重要。但是为什么我们要比较消息中的 HMAC 和摘要中的 HMAC。此外,摘要中的 HMAC 是什么?它只是消息的哈希值吗?
Since HMAC is to check the authenticity of a message, i understand its
important to check the HMAC
那么如何验证消息的真实性呢?
当您收到 HMAC 消息时,它包含两个部分。实际消息和 HMAC 标记。现在要验证消息的真实性,您需要使用收到的消息和使用 HMAC 算法的秘密 MAC 密钥构建一个 HMAC 标签。然后将生成的 HMAC 与消息随附的 HMAC 进行比较,看它们是否匹配。
But why are we comparing the HMAC from the message and the HMAC from
the digest.
验证邮件的真实性,正如上面所解释的那样。
Moreover, what is the HMAC from the digest?
您生成的 HMAC 与消息随附的 HMAC 进行比较。
当我遇到这段 Python 代码时,我正在学习密码学的基础知识
if self.shared_hash != None:
h = HMAC.new(self.shared_hash)
hmac = data[:h.digest_size*2] #Get the HMAC part of the message
data = data[h.digest_size*2:] # Get the data part of the message
h.update(data)
if h.hexdigest() != str(hmac, 'ascii'): #HMAC is not right, so raise an error
if self.verbose:
print("Bad message")
print("HMAC from message:",str(hmac,'ascii'))
print("HMAC from digest:",h.hexdigest())
print("Not verifying message:",data)
raise RuntimeError("Bad message: HMAC does not match")
由于HMAC 是检查消息的真实性,我明白检查HMAC 很重要。但是为什么我们要比较消息中的 HMAC 和摘要中的 HMAC。此外,摘要中的 HMAC 是什么?它只是消息的哈希值吗?
Since HMAC is to check the authenticity of a message, i understand its important to check the HMAC
那么如何验证消息的真实性呢?
当您收到 HMAC 消息时,它包含两个部分。实际消息和 HMAC 标记。现在要验证消息的真实性,您需要使用收到的消息和使用 HMAC 算法的秘密 MAC 密钥构建一个 HMAC 标签。然后将生成的 HMAC 与消息随附的 HMAC 进行比较,看它们是否匹配。
But why are we comparing the HMAC from the message and the HMAC from the digest.
验证邮件的真实性,正如上面所解释的那样。
Moreover, what is the HMAC from the digest?
您生成的 HMAC 与消息随附的 HMAC 进行比较。