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主要应用在身份验证中,它的使用方法是这样的:
- 客户端发
全部评论 (0)
还没有任何评论哟~
