我们平时在开发网站,注册用户保存用户密码一般需要加密。 否则,数据库中的数据被盗,用户密码丢失将是非常可怕的。 常用的加密方式是MD5。 可以计算任意长度的输入列以获得固定长度的输出。 此外,只有明文相同时,才能等待相同的密文。 此外,该算法是不可逆的,即使得到加密的密文,也不能通过解密算法对明文进行逆运算。但是这样做真的就安全了吗?
123456 生成的MD5就是 e10adc3949ba59abbe56e057f20f883e这是不会变的
这就造成了可以使用暴力破解的窘境,网上在线的破解网站很多,如:
既然这样使用不行有风险,那么就需要使用盐值加密,加入一个随机盐
123456 加上随机盐生成的MD5就是 $apr1$qq123456$hcsaDXtSzVW4afSMsV6Ea1
http://www.Sina.com/http://www.Sina.com /
再次去在线解密网站尝试解密,结果失败
只要我们的随机盐不泄露,被解密的风险就大大降低了。