MD5加盐与安全


PHP开发者对md5()这个函数是熟悉不过了,很多开发者都使用md5('abc123')对用户密码进行加密处理,这样做没有错,但是安全性还是很低的,因为很多网站的用户数据都是用md5进行加密处理的,所以就发生了撞库事件,最典型的就是前些年12306火车票网站上的用户信息泄露事件。很多人在多个网站使用相同的密码,黑客将A站的用户密码和B站的密码对比发现是相同的,于是A站的密码就登录上了B站。另外一个,md5算法很早就能破解了,所以单单md5处理是不安全的。

那么我们可以使用md5加salt来增强加密后的密码安全性,salt及盐值,这个值要随机生成,可在用户注册的时候和密码一起生成并保存到数据库中,用户登录验证的时候再把密码和盐值一起组合验证。

上面的代码将密码和盐值以及常量混合,再md5的到一个复杂的加密后的字符串,然后将加密后的字符串$md5pass和盐值$salt保存到数据表中,验证的时候再拿出来,按照同样的方式组合,如果组合加密后的字符串与数据表中的$md5pass值一样,那么就验证成功了。总的来说设置相对复杂的密码加盐处理后破解难度还是很大的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM