shiro加密

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Resource
private SecureRandomNumberGenerator secureRandomNumberGenerator;
@Resource
private HashedCredentialsMatcher hashedCredentialsMatcher;
/**
* 对密码加密加盐
* @param user
* @throws Exception
*/
private void generateNewSaltAndHashedPassword(User user) throws Exception {
//Generate Salt
ByteSource byteSource = secureRandomNumberGenerator.nextBytes();
String salt = byteSource.toString();
//Hash
String algorithmName = hashedCredentialsMatcher.getHashAlgorithmName();
int hashIterations = hashedCredentialsMatcher.getHashIterations();
SimpleHash simpleHash = new SimpleHash(algorithmName,user.getPassword(),salt,hashIterations);
String hashedPassword = simpleHash.toString();
//Set new Salt and Password
user.setSalt(salt);
user.setPassword(hashedPassword);
}