HMAC(Hash-based Message Authentication Code,散列消息认证码)

HMAC(Hash-based Message Authentication Code,散列消息认证码)是一种使用单向散列函数同时结合一个加密密钥,通过特别计算方式来构造消息认证码(MAC)的方法。HMAC中所使用的单向散列函数并不仅限于一种,任何高强度的单向散列函数都可以被用于HMAC,如果将来设计出新的单向散列函数,同样也可以使用。

使用SHA-256、MD5、RIPEMD-160所构造的HMAC,分别称为HMAC-SHA-256、HMAC-MD5和HMAC-RIPEMD-160。

HMAC可以用来保证数据的完整性,同时可以用来作某个消息的身份验证。

HMAC算法

HMAC算法的数学公式:HMAC(k,m)=H(k’⊕opad,H(k’⊕ipad,m))

  • H 为散列函数(Hash:如MD5或SHA-256)
  • k 为密钥(secret key)
  • m 为要认证的消息
  • k’ 是从原始密钥 k 导出的另一个密钥(如果 k比单向散列函数的分组长度要短,就需要在末尾填充0,指导其长度达到单向散列的分组长度为止。如果k比分组长度更长,则要用单向散列函数求出 k的散列值,然后将这个散列值作为k’)
  • ipad 内部填充(常量)
  • opad 外部填充(常量)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值