md5 是一种数据加密,例子是对123456 进行了两次加盐

第一次是 inputPassToFormPass   salt是固定的 1a2b3c4d

第二次是  formPassToDBPass  salt 正常情况是随机的 存到数据库里的  需要从数据库取出

还可以组合使用 inputPassToDbPass

public class MD5Util {

	public static String md5(String src) {
return DigestUtils.md5Hex(src);
} private static final String salt = "1a2b3c4d";
/**
* 第一次加salt 固定salt
* @param inputPass
* @return
*/
public static String inputPassToFormPass(String inputPass) {
String str = ""+salt.charAt(0)+salt.charAt(2) + inputPass +salt.charAt(5) + salt.charAt(4);
System.out.println(str);
return md5(str);
}
/**
* 第二次加salt 随机salt
* @param formPass
* @param salt
* @return
*/
public static String formPassToDBPass(String formPass, String salt) {
String str = ""+salt.charAt(0)+salt.charAt(2) + formPass +salt.charAt(5) + salt.charAt(4);
return md5(str);
} /**
* 组合加salt
* @param inputPass
* @param saltDB
* @return
*/
public static String inputPassToDbPass(String inputPass, String saltDB) {
String formPass = inputPassToFormPass(inputPass);
String dbPass = formPassToDBPass(formPass, saltDB);
return dbPass;
} public static void main(String[] args) {
System.out.println(inputPassToFormPass("123456"));//d3b1294a61a07da9b49b6e22b2cbd7f9
System.out.println(formPassToDBPass(inputPassToFormPass("123456"), "1a2b3c4d"));
System.out.println(inputPassToDbPass("123456", "1a2b3c4d"));//b7797cce01b4b131b433b6acf4add449
}
}

以上代码输出

第一次 之后  d3b1294a61a07da9b49b6e22b2cbd7f9

第二次之后   b7797cce01b4b131b433b6acf4add449

12123456c3
d3b1294a61a07da9b49b6e22b2cbd7f9
12123456c3
b7797cce01b4b131b433b6acf4add449
12123456c3
b7797cce01b4b131b433b6acf4add449

  

最新文章

  1. Echarts 页面多图自适应的解决办法 (转)
  2. UIScrollView控件实现图片缩放功能
  3. atitit.标准时间格式 互相转换 秒数 最佳实践
  4. SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器
  5. jquery插件开发(checkbox全选的简单实例)
  6. windows下STM32开发环境的搭建
  7. C#实现测量程序运行时间及cpu使用时间
  8. php 之 注册审核(0523)
  9. 配置基于NotePad++工具下的C#开发环境
  10. WPF换肤之七:异步
  11. Redis 数据结构与内存管理策略(上)
  12. 分组\聚合\F\Q查询
  13. IOS 静态库 和 动态库
  14. WPF没落了吗?
  15. 大内核锁 BKL
  16. 使用Socket的简单Web服务器
  17. HBase - 数据写入流程解析
  18. springboot-3-aop
  19. Battery Historian之App耗电量测试
  20. 2019.1.7 Mac的Vscode插件总结

热门文章

  1. JS对象-不可扩展对象、密封对象、冻结对象
  2. 存在日期类型的JSON数据,进行SpringMVC参数绑定时存在的问题和解决方案
  3. P2051 [AHOI2009]中国象棋——DP(我是谁,我在哪,为什么)
  4. 随手记录---jq如何判断当前元素是第几个元素
  5. POJ 2778 DNA Sequence —— (AC自动机+矩阵快速幂)
  6. open suse tumbleweed安装记录
  7. tar中的参数 cvf,xvf,cvzf,zxvf的区别
  8. make 和 make install 的区别
  9. impdp导入报错ORA-39070:无法打开日志文件
  10. springboot自定义异常RESTful返回异常