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());
String newPassword = new SimpleHash(
algorithmName,
user.getPassword(),
ByteSource.Util.bytes(user.getCredentialsSalt()),
hashIterations).toHex();
user.setPassword(newPassword);
}

  在创建账户及修改密码时直接把生成密码操作委托给PasswordHelper。

最新文章

  1. 如何避免git每次提交都输入密码
  2. 别老嫌Mac系统难用 这些快捷键你都用过吗
  3. 【JS】<a>标签调用js中函数的几种方法
  4. Scrum中的User Story
  5. JAVA对象之生
  6. HBase HFileBlock
  7. sql编程 && 存储过程
  8. 关于 vue.js 运行环境的搭建(mac)
  9. Spring cloud oauth2.0 access_token 永不失效设置方法
  10. android数据保存之greendao
  11. 使用Elasticsearch的动态索引和索引优化
  12. JS设计模式(3)代理模式
  13. mysql5.7.24启动报错:ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
  14. 关于XML文档操作类
  15. Project Euler:Problem 76 Counting summations
  16. MySQL主从复制状态及数据一致性监测工具
  17. mysql update 多表 (复制)
  18. django 安装/部署过程
  19. java的IO流之字符流
  20. Android从开源到碎片化 开发者叛离的真相

热门文章

  1. java list序列化json 对象、json数组
  2. Kneser猜想与相关推广
  3. 笔记本win2008 r2的hyper-v安装centos
  4. 15个开发者最亲睐的Andr​​oid代码编辑器
  5. UItableView中的一些方法
  6. 49.AngularJs 指令directive之controller,link,compile
  7. 桌面出现removable storage devices文件夹无法删除解决办法
  8. POJ 1151 线段树+扫描线
  9. 为一个支持GPRS的硬件设备搭建一台高并发服务器用什么开发比较容易?
  10. ui5 call view or method from another view