首页 > 代码库 > 盐值加密-MD5

盐值加密-MD5

盐值加密-MD5

什么叫盐值加密 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