forked from demo/example
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
package com.fr.privilege; |
|
|
|
import com.fr.privilege.providers.dao.AbstractPasswordValidator; |
|
|
|
public class TestPasswordValidatorRSA extends AbstractPasswordValidator { |
|
//@Override |
|
public String encodePassword(String clinetPassword) { |
|
try { |
|
//对密码进行翻转如输入ab翻转后为ba |
|
StringBuffer sb = new StringBuffer(); |
|
sb.append(new String(clinetPassword)); |
|
String bb = sb.reverse().toString(); |
|
//进行加密 |
|
byte[] en_test = RSAUtil.encrypt(RSAUtil.getKeyPair().getPublic(), bb.getBytes()); |
|
//进行解密,如果数据库里面保存的是加密码,则此处不需要进行解密 |
|
byte[] de_test = RSAUtil.decrypt(RSAUtil.getKeyPair().getPrivate(), en_test); |
|
//返回加密密码 |
|
clinetPassword = new String(de_test); |
|
} catch (Exception e) { |
|
// TODO Auto-generated catch block |
|
e.printStackTrace(); |
|
} |
|
return clinetPassword; //即获取加密密码再与数据库密码匹配。 |
|
} |
|
|
|
@Override |
|
public boolean validatePassword(String arg0, String arg1) { |
|
// TODO Auto-generated method stub |
|
return false; |
|
} |
|
|
|
|
|
} |