Advertisement

HMAC Keyed Hashing 用于消息认证

阅读量:
hmac的原理

计算HMAC则涉及选择一个哈希算法(如MD5或SHA-1)以及一个密钥k.

按照RFC 2316标准(由IAB于1998年4月发布的报告),HMAC与IPSec共同构成了Interact安全的关键性核心协议。其中HMAC并非传统意义上的哈希函数(Hash Function),而是采用了一种基于将MD5或SHA-1散列算法(MessageDigest Algorithm)与共享秘密键(Secret Key)相结合的方法来进行消息身份验证(Message Authentication Code)。其工作原理如下:首先将消息与该秘密键结合并应用MD5或SHA-1算法进行计算;随后将计算得到的结果与该秘密键再次进行结合,并应用同样的散列算法进行计算;最终所得的具有128位长度的数据块被截取前96位作为最终的校验码(Message Authentication Code)。

然后创建两个B长的不同字符串:

  • innerpad = 长度为B的 0×36
  • outterpad = 长度为B的 0×5C

计算输入字符串str的HMAC:

  • hash(key ^ outterpad, hash(key ^ innerpad, str))
hmac的应用

hmac主要应用在身份验证中,它的使用方法是这样的:

  1. 客户端发

全部评论 (0)

还没有任何评论哟~