关于MD5加盐使用
2024-08-30 08:22:43
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
最新文章
- Echarts 页面多图自适应的解决办法 (转)
- UIScrollView控件实现图片缩放功能
- atitit.标准时间格式 互相转换 秒数 最佳实践
- SSH 无密码访问其它机器 和 Windows 上 putty 无密码访问 Linux 机器
- jquery插件开发(checkbox全选的简单实例)
- windows下STM32开发环境的搭建
- C#实现测量程序运行时间及cpu使用时间
- php 之 注册审核(0523)
- 配置基于NotePad++工具下的C#开发环境
- WPF换肤之七:异步
- Redis 数据结构与内存管理策略(上)
- 分组\聚合\F\Q查询
- IOS 静态库 和 动态库
- WPF没落了吗?
- 大内核锁 BKL
- 使用Socket的简单Web服务器
- HBase - 数据写入流程解析
- springboot-3-aop
- Battery Historian之App耗电量测试
- 2019.1.7 Mac的Vscode插件总结
热门文章
- JS对象-不可扩展对象、密封对象、冻结对象
- 存在日期类型的JSON数据,进行SpringMVC参数绑定时存在的问题和解决方案
- P2051 [AHOI2009]中国象棋——DP(我是谁,我在哪,为什么)
- 随手记录---jq如何判断当前元素是第几个元素
- POJ 2778 DNA Sequence —— (AC自动机+矩阵快速幂)
- open suse tumbleweed安装记录
- tar中的参数 cvf,xvf,cvzf,zxvf的区别
- make 和 make install 的区别
- impdp导入报错ORA-39070:无法打开日志文件
- springboot自定义异常RESTful返回异常