@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);
}
近期评论