简单说就是为了使相同的密码拥有不同的hash值的一种手段 就是盐化 MD5自身是不可逆的 但是目前网路上有很多数据库支持反查询 如果用户密码数据库不小心被泄露 黑客就可以通过反查询方式获得用户密码 或者对于数据库中出现频率较高的hash码(即很多人使用的)进行暴力破解(因为它通常都是弱口令) 盐值就是在密码hash过程中添加的额外的随机值 比如我的id是癫ω倒④ゞ 密码是123456 存在数据库中的时候就可以对字符串“123456/癫ω倒④ゞ ”进行hash,而验证密码的时候也以字符串“(要验证的密码)/癫ω倒④ゞ ”进行验证 这样有另外一个笨蛋密码是123456的时候 依然能构造出不同的hash值 并且能成功的验证 这时候我的id就作为盐值 为密码进行复杂hash了 所以么。。盐值的作用是减少数据库泄露带来的损失如果你RP非常好 猜中了我的密码是123456 我也阻止不了你啊→_→
什么叫盐值加密 Spring security怎样进行盐值加密
以前的md5原理是
密码密文=md5算法(密码明文);
这样明文与密文其实还是一一对应的
那么人家就可以用字典攻击(就是一个一个的试)来探测密码
加盐(盐值加密)的算法很多
Spring security用的是:
密码密文=md5算法(密码明文{盐值});
这个盐值就可以自己随便设置了,弄一个静态字符串或者用用户的登录名
举个例子:
用户名:thr
密码:fou
用用户名作为盐值
打开网页:http://www.md5.org.cn/md5/Encrypt.asp
输入:thr{fou}
得到密文:5dbae131e3eea6ce50068aab9292c8c3
OK.应该明白了
盐值加密介绍
最新推荐文章于 2023-10-11 14:17:58 发布