salt encrypt

salt encrypt

閱讀本文約花費: 2 (分鐘)

密码加密。现在 很少系统会直接保存用户的密码 ,至少也是会计算密码的 md5 后保存。md5 这种不可逆的加密方法理论上已经很安全了,但是随着彩虹表的出现,使得大量长度不够的密码可以直接从彩虹表里反推出来。 所以,只对密码进行 md5 加密是肯定不够的。聪明的程序员想出了个办法,即使用户的密码很短,只要我在他的短密码后面加上一段很长的字符,再计算 md5 ,那反推出原始密码就变得非常困难了。加上的这段长字符,我们称为盐(Salt),通过这种方式加密的结果,我们称为 加盐 Hash 。比如:
md5(md5(password)+salt)

常用的加密算法:
  1. 对称加密:DES3DES、TDEA、Blowfish、RC2、RC4、RC5IDEA、SKIPJACK、AES
  2. 非对称加密:RSAECC(椭圆曲线加密算法)、Diffie-HellmanEl Gamal、DSA(数字签名用)
  3. Hash 算法:MD2、MD4、MD5、HAVAL、SHA-1、SHA256、SHA512、RipeMD、WHIRLPOOL、SHA3、HMAC
DES、3DES、AES 区别:
  1. DES:1976年由美国联邦政府的国家标准局颁布,密钥为 56 位。
  2. 3DES:DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。
  3. AES:高级加密标准,是下一代的加密算法标准,速度快,安全级别高,用来替代原先的DES。密钥长度可以是128,192或256比特。

参考文章

  1. Salted Password Hashing – Doing it Right
  2. ECDH 算法概述
  3. Rainbow table
  4. 《改变未来的九大算法》第四章:公钥加密
Rate this post
No tags for this post.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注