首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息中的Hmac与摘要中的HMac

消息中的Hmac与摘要中的HMac
EN

Stack Overflow用户
提问于 2017-09-20 01:40:23
回答 1查看 600关注 0票数 0

当我遇到这段Python代码时,我正在学习密码学的基本知识。

代码语言:javascript
复制
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是什么?这只是一条信息的杂凑吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 03:42:33

由于HMAC是为了检查消息的真实性,所以我理解检查HMAC的重要性。

那么,如何验证消息是真实的呢?

当您收到HMAC消息时,它包含两个部分。实际消息和HMAC标签。现在,要验证消息是真实的,需要使用HMAC算法构造一个HMAC标记,其中包含接收到的消息和您拥有的密钥。然后,将生成的HMAC与附带消息的HMAC进行比较,以查看它们是否匹配。

但是为什么我们要比较信息中的HMAC和摘要中的HMAC呢?

来验证消息是否真实,正如上面所解释的那样。

此外,摘要中的HMAC是什么?

您生成的HMAC与消息附带的HMAC进行比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46311990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档