用户注册加密操作,实现加密工具PasswordHelper

创建加密类PasswordHelper 

public class PasswordHelper {
    //随机数类
    private RandomNumberGenerator randomNumberGenerator =
     new SecureRandomNumberGenerator();
    private String algorithmName = "md5";
    private final int hashIterations = 2;
    public void encryptPassword(User user) {
        //随机数盐
        user.setSalt(randomNumberGenerator.nextBytes().toHex());
        //生成加密密码
        //user.getCredentialsSalt() 辅助方法返回 username+salt。
        String newPassword = new SimpleHash(
                algorithmName,
                user.getPassword(),
                ByteSource.Util.bytes(user.getCredentialsSalt()),
                hashIterations).toHex();
        user.setPassword(newPassword);
    }
};

添加用户:

public User createUser(User user) {
    //加密密码
    passwordHelper.encryptPassword(user);
    return userDao.createUser(user);
}

跟换密码:

public void changePassword(Long userId, String newPassword) {
    User user =userDao.findOne(userId);
    user.setPassword(newPassword);
    passwordHelper.encryptPassword(user);
    userDao.updateUser(user);
} 

猜你喜欢

转载自blog.csdn.net/qq_15204179/article/details/82628749