常见的哈希算法有 Md5 和 SHA 系列算法。MD5已经不再安全,废弃。
SHA256 它是 SHA(Secure Hash Algorithm)安全散列系列算法中的一种,它和RSA的组合也被称作“RSA2",用于将明文转成一段不可逆的摘要数据。除此之外,还有 SHA-1,SHA-224,SHA-256,SHA-384,和 SHA-512。由于这种算法的特点是不管原文有多长,都会转换成固定长度的摘要,所以只要样本足够庞大,就会存在不同的原文生成相同的摘要可能,这就为破解算法创造了条件,但是理论张只要摘要越长,摘要冲突的概率就越低,最早的SHA-1算法使用160位的摘要长度,SHA-256使用256位长度,以此类推,SHA-512 使用512位的长度,长度越长就越难于破解,就越安全,从这个角度来看,SHA-256 要比 SHA-1 更安全,单同样也会带来更大的性能开销。常用的摘要算法还要 MD5 算法,但 MD5 摘要长度只有 128 位,比最短的 SHA1,还要短,所以从安全性角度来说,SHA1 要强于 MD5,单要比MD5运行更慢。不过由于计算机硬件性能逐年提升,SHA-1算法也变得越来越脆弱,目前已经有不少IT巨头都宣布弃用 SHA1,比如Google,微软。
HMAC
TODO