盐值加密-MD5
2015-12-22 11:42
169 查看
什么叫盐值加密 Spring security怎样进行盐值加密
以前的md5原理是
密码密文=md5算法(密码明文);
这样明文与密文其实还是一一对应的
那么人家就可以用字典攻击(就是一个一个的试)来探测密码
加盐(盐值加密)的算法很多
Spring security用的是:
密码密文=md5算法(密码明文{盐值});
这个盐值就可以自己随便设置了,弄一个静态字符串或者用用户的登录名
举个例子:
用户名:thr
密码:fou
用用户名作为盐值
打开网页:http://www.md5.org.cn/md5/Encrypt.asp
输入:thr{fou}
得到密文:5dbae131e3eea6ce50068aab9292c8c3
OK.应该明白了
<authentication-provider>
<!–
<password-encoder hash=”md5″/>
INSERT INTO USER VALUES(1,’admin’,'21232f297a57a5a743894a0e4a801fc3′)
INSERT INTO USER VALUES(2,’user’,'ee11cbb19052e40b07aac0ca060c23ee’)
–>
<password-encoder hash=”md5″>
<!–
<salt-source user-property=”username”/>
盐值加密原理:Md5(password + {salt})
INSERT INTO USER VALUES(1,’admin’,'ceb4f32325eda6142bd65215f4c0f371′)
INSERT INTO USER VALUES(2,’user’,'47a733d60998c719cf3526ae7d106d13′)
–>
<salt-source user-property=”username”/>
<!– 也可以直接用一个字符串作为盐值
<salt-source system-wide=”salt”/>
–>
</password-encoder>
<jdbc-user-service data-source-ref=”dataSource”
users-by-username-query=”select username,password XXXXX”/>
</authentication-provider>
以前的md5原理是
密码密文=md5算法(密码明文);
这样明文与密文其实还是一一对应的
那么人家就可以用字典攻击(就是一个一个的试)来探测密码
加盐(盐值加密)的算法很多
Spring security用的是:
密码密文=md5算法(密码明文{盐值});
这个盐值就可以自己随便设置了,弄一个静态字符串或者用用户的登录名
举个例子:
用户名:thr
密码:fou
用用户名作为盐值
打开网页:http://www.md5.org.cn/md5/Encrypt.asp
输入:thr{fou}
得到密文:5dbae131e3eea6ce50068aab9292c8c3
OK.应该明白了
<authentication-provider>
<!–
<password-encoder hash=”md5″/>
INSERT INTO USER VALUES(1,’admin’,'21232f297a57a5a743894a0e4a801fc3′)
INSERT INTO USER VALUES(2,’user’,'ee11cbb19052e40b07aac0ca060c23ee’)
–>
<password-encoder hash=”md5″>
<!–
<salt-source user-property=”username”/>
盐值加密原理:Md5(password + {salt})
INSERT INTO USER VALUES(1,’admin’,'ceb4f32325eda6142bd65215f4c0f371′)
INSERT INTO USER VALUES(2,’user’,'47a733d60998c719cf3526ae7d106d13′)
–>
<salt-source user-property=”username”/>
<!– 也可以直接用一个字符串作为盐值
<salt-source system-wide=”salt”/>
–>
</password-encoder>
<jdbc-user-service data-source-ref=”dataSource”
users-by-username-query=”select username,password XXXXX”/>
</authentication-provider>
相关文章推荐
- 【SSH快速进阶】——Hibernate 多对一映射 和 一对多映射
- POJ1037A decorative fence(动态规划+排序计数+好题)
- Java API —— HashMap类 & LinkedHashMap类
- 有些星座天生不适合干有些事情,如果一定要为之恐怕就会落到饿死的地步了!你知道自己这个星座有哪些事情是容易让自己饿死的吗?
- 在Linux系统中安装web端的远程连接工具Wetty
- Tab不同子对话框间函数互相调用
- 安全科普:理解SSL(https)中的对称加密与非对称加密
- 携程网移动端首页-学习与自我分析
- Pike学习笔记
- spring-mvc环境搭建及helloworld的demo实现
- JS控制按钮10秒钟后可用的方法
- Unity3D导入MAX文件的一些问题。不断更新。。。
- ZSTUOJ 4212 String Game
- ssh2的整合
- Oracle11g数据库导入Oracle10g问题
- Think In Java 读后感
- HTML5 预览预加载文件,图片
- Hive的那些事儿?
- Xcode7.1以上版本的第三方库的导入解决问号问题
- Mac上eclipse安装SVN+JavaHL