您的位置:首页 > 其它

盐值加密介绍

2016-06-03 10:14 204 查看
简单说就是为了使相同的密码拥有不同的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.应该明白了 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: