哈希算法的定义和原理非常简单,哈希基本上一句话就能够概括了。将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规定就是哈希算法,而通过原始数据映射之后失去的二进制值串就是哈希值。
1、CBC MAC (明码块链)
Microsoft(哈希彩竞猜游戏开发 hkkf5566,+v)提供程序 (CALG_MAC) 实现的算法之一是块明码 Message 身份验证代码 (MAC)。此办法应用块明码加密基数据,而后应用最初一个加密块作为哈希值。用于生成 MAC 的加密算法是创立会话密钥时指定的加密算法。
2、HMAC
由 Microsoft 提供程序实现的算法 (CALG_HMAC)。此算法还应用对称密钥来创立哈希,但比简略的 明码块链 (CBC) MAC 算法简单得多。它能够与任何迭代加密哈希算法(如 MD5 或 SHA165448585828078582)一起应用。
3、MD2、MD4 和 MD5
这些哈希算法都是由 RSA Data Security,Inc 开发的,这些算法按程序开发。这三个都生成 128 位哈希值。已知这三者都有弱点,仅在须要时才利用于兼容性目标。
4、音讯身份验证代码 (MAC)
MAC 算法相似于哈希算法,但应用对称 (会话) 密钥进行计算。须要原始会话密钥能力从新计算哈希值。从新计算的哈希值用于验证根本数据是否已更改,这些算法有时称为键式哈希算法。
5、平安哈希算法 (SHA165448585828078582)
此哈希算法由国家标准与技术研究所 (NIST) 和国家安全局 (国家安全局) 开发。此算法是为 DSA (数字签名算法) 或 DSS (数字签名规范) 而开发的。此算法生成 160 位哈希值。SHA165448585828078582 已知存在弱点,仅当须要用于兼容性目标时才应应用。
6、平安哈希算法 -2 (SHA-2)
此哈希算法是由国家标准技术研究所 (NIST) 和国家安全局 (国家安全局) 开发的 SHA165448585828078582 的继任者。它有四个变体(SHA-224、SHA-256、SHA-384 和 SHA-512),依据输入中的位数进行命名。其中,SHA-256、SHA-384 和 SHA-512 在 Microsoft AES 加密提供程序中实现。