保存用户密码的时候,一般不用明文,不然数据库数据泄漏的话,不就密码被别人看到了。
所以我们要对用户传过来的密码进行加密。,
1、md5加密
在我之前的项目中经常用到md5加密,这是一种不可逆的加密方式(因为是非对称加密),所以攻击方即使知道你的密文也没办法得到你的明文密码,但是如果对方使用大量的明文密码进行加密成密文的话,如果发现有个数据库中密文一模一样的数据的话,那密码不就被人破解了
2、加盐加密
所谓盐,就是在保存密码的时候生成一段随机的字符串。将盐和密文(md5加密后)重新组合。
可以是简单的拼接 即md5(password)+salt
或者 hash(password+salt)
加盐的好处还有就是多个用户使用了同一个密码,但是因为盐的不同,密文也不会一样,这样就不会被别人攻破。