当前位置:网站首页>MD5加密的两种方式
MD5加密的两种方式
2022-07-04 15:12:00 【郝少】
目录
一、需求说明
- 在存储密码时,需要进行加密处理。所以为了安全,数据库看到的密码必须是加过密的,这就是后台人员包括工作人员看不到你正真密码,只能改密码的原因;这里简述使用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));边栏推荐
- Start by counting
- Accounting regulations and professional ethics [6]
- Cypher task design and task locking mechanism of isomorphic and heterogeneous graphs
- ~88 running people practice
- Jump table instance
- 一图看懂ThreadLocal
- Vscode prompt Please install clang or check configuration 'clang executable‘
- Research Report on market supply and demand and strategy of China's plastics and polymer industry
- Principle and general steps of SQL injection
- Visual studio 2019 (localdb) mssqllocaldb SQL Server 2014 database version is 852 and cannot be opened. This server supports 782
猜你喜欢

程序员怎么才能提高代码编写速度?

《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下

overflow:auto与felx结合的用法

World Environment Day | Chow Tai Fook serves wholeheartedly to promote carbon reduction and environmental protection

~89 deformation translation

Years of training, towards Kata 3.0! Enter the safe container experience out of the box | dragon lizard Technology

Opencv learning -- geometric transformation of image processing

新的职业已经出现,怎么能够停滞不前 ,人社部公布建筑新职业

Transformer中position encoding实践

~88 running people practice
随机推荐
How can programmers improve the speed of code writing?
Hair growth shampoo industry Research Report - market status analysis and development prospect forecast
C implementation defines a set of intermediate SQL statements that can be executed across libraries
Research Report on market supply and demand and strategy of surgical stapler industry in China
一图看懂ThreadLocal
Practice: fabric user certificate revocation operation process
Inside and outside: flow chart drawing elementary: six common mistakes
~89 deformation translation
Accounting regulations and professional ethics [7]
Spark 中的 Rebalance 操作以及与Repartition操作的区别
如何为ONgDB核心项目源码做贡献
Daily notes~
表单传递时,如何隐式将值传过去
Object.keys()的用法
System. Currenttimemillis() and system Nanotime (), which is faster? Don't use it wrong!
Accounting regulations and professional ethics [8]
中位数与次序统计量
. Net applications consider x64 generation
c# 实现定义一套中间SQL可以跨库执行的SQL语句
How to "use" Perl modules in directories that are not in @inc- How do I 'use' a Perl module in a directory not in @INC?