当前位置:网站首页>安全的Md5加密:两次加密(加盐)
安全的Md5加密:两次加密(加盐)
2022-08-09 07:53:00 【CS打赢你】
导包:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>加密类:
import org.apache.commons.codec.digest.DigestUtils;
import org.junit.Test;
/**
*
* @author yhq
* @date 2018/8/21 1:09
*
* 两次加密
* 1,在前端:明文密码+固定盐在装成md5
* 2,服务端:获取到传输过来的MD5,在加随机生成的盐,salt,再转成md5,存入数据库(数据库有password和salt字段),存密码的两次MD5生成的值和随机盐
*
*
*/
public class MD5Utils {
private static final String salt = "1a2b3c4d"; //这个自定义
public static String md5(String sac){
//commons-lang3 version:3.6
String md5 = DigestUtils.md5Hex(sac);
System.out.println(md5);
return md5;
}
/**
* 第一次明文加固定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);
}
/**
* 第二次加密md5的值+随机盐再进行md5加密
* @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);
System.out.println(str);
return md5(str);
}
/**
* 整体加密
*
*/
public static String inputPassToDbPass(String pass ,String salt){
//第一次加密
String onePass = inputPassToFormPass(pass);
//第二次加密
return formPassToDBPass(onePass,salt);
}
边栏推荐
- 【机器学习】中国大学慕课《机器学习》课后习题(二)(回归)
- The String class objects created by the JVM memory allocation and the difference between equals and = =
- (五)、马尔科夫预测模型
- 设备指纹详解之识别垃圾账号
- MDK Keil debug时, watch1中全局变量不更新
- [STL]list
- SSM整合开发案例
- Anaconda replaces the default virtual environment
- 2042. 检查句子中的数字是否递增
- Flexible and easy-to-use sql monitoring script part7
猜你喜欢
随机推荐
Exclude null values when Oracle limits
Lottie系列一:介绍与使用
Data storage implementation of SDRAM and read and write operations on its data
C#基础学习
ssh:connect to host master port 22:Network is unreachable
Classes and Structures
2042. 检查句子中的数字是否递增
HDU - 3183 A Magic Lamp 线段树
Colors that Tkinter can choose from
【机器学习】中国大学慕课《机器学习》课后习题(二)(回归)
转换为onnx模型错误汇总
libtorch示例
tianqf's problem-solving ideas
ncnn 推理猫狗识别
记录一次客户的APP数据库版本号升级失败的情况
解决pycharm每次新建项目都要重新pip安装一些第三方库等问题
数据库索引原理
[STL]list
Pytorch中 nn.BatchNorm2d() 归一化操作
MUV LUV EXTRA 2019CCPC秦皇岛站J题 KMP






![[STL]stack与queue](/img/a8/b3093cb4bf03ced1614c790decc336.png)

