MD5加密的两种方式

编程入门 行业动态 更新时间:2024-10-26 23:24:53

目录

一、需求说明

二、基于spring-core工具加密

1、导入依赖

2、代码

二、基于hutool工具进行加密

1、导入依赖

2、代码


一、需求说明

  • 在存储密码时,需要进行加密处理。所以为了安全,数据库看到的密码必须是加过密的,这就是后台人员包括工作人员看不到你正真密码,只能改密码的原因;这里简述使用MD5进行加密的两种方法,一种是基于spring-core包的工具进行MD5加密,一个是基于hutool工具类中的封装方法进行加密;
  • 在业务逻辑中相同的密码加密之后生成的加密串也是相同的,只需要对比生成后的加密串是否相同,即可判定是否输入了同一个密码。

二、基于spring-core工具加密

这种方式加密方式比较灵活,可以在工具类中多层自定义加密方式;

1、导入依赖

      <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.1.7.RELEASE</version>
       </dependency>

2、代码

  • MD5Util.java
import org.springframework.util.DigestUtils;
//必须得有Spring-core支持
public class MD5Util {
	//必须要有Spring-core支持
	public static String getMd5Plus(String pwd){
		//先进行第一层加密
		String md1 = DigestUtils.md5DigestAsHex(pwd.getBytes());
		//截取第一层加密后的密文的前6位
		String substring6 = md1.substring(0, 6);//前包含后不包含
		//再对密文+前6位再加密
		String md5plus = DigestUtils.md5DigestAsHex((md1+substring6).getBytes());
		return md5plus;
	}
}
  • 测试
String pwd="123456";
//033e997f49e0cff004e70b09303f670a
String md5Plus1 = MD5Util.getMd5Plus(pwd);
String login_pwd="123456";
//033e997f49e0cff004e70b09303f670a
String md5Plus2 = MD5Util.getMd5Plus(login_pwd);
//true
System.out.println(md5Plus1.equals(md5Plus2));

二、基于hutool工具进行加密

1、导入依赖

       <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.16</version>
        </dependency>

2、代码

String str_pwd="123456";
//e10adc3949ba59abbe56e057f20f883e
String md5Hex1 = DigestUtil.md5Hex(str_pwd);
String str_login_pwd="123456";
//e10adc3949ba59abbe56e057f20f883e
String md5Hex2 = DigestUtil.md5Hex(str_login_pwd);
//true
System.out.println(md5Hex1.equals(md5Hex2));

更多推荐

MD5加密的两种方式

本文发布于:2023-06-13 23:19:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1414115.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两种   方式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!