目录
原理
定义1 HMAC算法
HMAC算法的数学公式为:
HMAC ( k , m ) = H ( k’ ⊕ opad , H ( k’ ⊕ ipad, m ) )
其中:
H 为密码Hash函数(如MD5或SHA-2),能够对明文进行分组循环压缩;
k 为密钥(secret key);
m 为要认证的消息;
k’ 是从原始密钥 k 导出的另一个密钥(如果 k 短于散列函数的输入块大小,则向右填充零;如果比该块大小更长,则对 k 进行散列)
ipad 内部填充(0x5C5C5C…5C5C,一段十六进制常量);
opad 外部填充(0x363636…3636,一段十六进制常量)。
HMAC的计算步骤
HMAC计算步骤如下图所示: