密钥散列消息认证码

✍ dations ◷ 2025-08-22 19:10:03 #讯息鉴别码

密钥散列消息认证码(英语:Keyed-hash message authentication code),又称散列消息认证码(Hash-based message authentication code,缩写为HMAC),是一种通过特别计算方式之后产生的消息认证码(MAC),使用密码散列函数,同时结合一个加密密钥。它可以用来保证资料的完整性,同时可以用来作某个消息的身份验证。

根据RFC 2104,HMAC的数学公式为: HMAC ( K , m ) = H ( ( K o p a d ) | | H ( ( K i p a d ) | | m ) ) {\displaystyle {\textit {HMAC}}(K,m)=H{\Bigl (}(K'\oplus opad)\;||\;H{\bigl (}(K'\oplus ipad)\;||\;m{\bigr )}{\Bigr )}}

其中:

下面的伪代码展示了如何实现HMAC。当使用以下散列函数之一时,块大小为64(字节):SHA-1、MD5、RIPEMD-128/160。

相关

  • 辐照度在光学里,辐照度(irradiance)是电磁辐射入射于曲面时每单位面积的功率。辐射出射度(radiant emittance,radiant exitance)是从每单位面积曲面辐射出的功率。采用国际单位制,这些物
  • 石头
  • 动物园假说动物园假说(英语:Zoo hypothesis)是指地球人类居住在“动物园”里或者更大的荒原中,外星人不干涉,让人类以自己的方法发展自己的文明及掌握自己的命运。外星人已经找到地球人,但他
  • 中国农业银行中国农业银行股份有限公司(简称农业银行、农行,英语:Agricultural Bank of China Limited,缩写:ABC)是中华人民共和国的五大国有大型商业银行之一,资产在中国银行排名第三。2014年
  • 安色尔体安色尔字体(英语:uncial)是一种全大写字母的字体,在公元3到8世纪中被拉丁和希腊的抄写员使用。安色尔字体用来书写希腊语、拉丁语和哥特语。早期的安色尔体字母可能是起源于晚期
  • 国民议会 (阿塞拜疆)国民议会(阿塞拜疆语:Milli Məclis),阿塞拜疆立法机构。国民议会为一院制,议员人数125名。国民议会位于首都巴库。
  • 加扎勒加扎勒(阿拉伯语/普什图语/爪夷文/波斯语/乌尔都语:غزل‎‎; 印地语:ग़ज़ल, 旁遮普语: ਗ਼ਜ਼ਲ, 尼泊尔语: गजल, 土耳其语:gazel, 孟加拉语:গ়জ়ল, 古吉拉特
  • 詹姆斯·福克斯威廉·福克斯(William Fox,1939年5月19日-),艺名詹姆斯·福克斯(James Fox),是英国的一位演员。他出生在伦敦的一个演员家庭,是演员爱德华·福克斯的弟弟。毕业于纽约州立大学帕齐斯
  • 弗朗西斯科·贝特朗德弗朗西斯科·贝特朗德·巴拉奥纳 (西班牙语: Francisco Bertrand Barahona, 1866年10月9日-1926年7月15日) ,是洪都拉斯医师、政治家,曾于1911年至1912年、1913年至1919年两度
  • 鸡啼门水道鸡啼门水道,位于中华人民共和国广东省珠海市境内,北起斗门区尖峰山下的鬼仔角,上接黄杨河,蜿蜒向西南,至金湾区平沙镇连湾闸出海,全长20千米。鸡啼门水道原是泥湾门水道口门湾的一