当前位置:网站首页>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));边栏推荐
- 散列表
- NoSQL之readis配置与优化(终章)
- 话里话外:流程图绘制初级:六大常见错误
- APOC自定义函数和过程
- 高度剩余法
- S2b2b solution for lighting industry: efficiently enable the industrial supply chain and improve the economic benefits of enterprises
- MFC implementation of ACM basic questions encoded by the number of characters
- China's plastic processing machinery market trend report, technological innovation and market forecast
- 基于check-point机制的任务状态回滚和数据分块任务
- Yanwen logistics plans to be listed on Shenzhen Stock Exchange: it is mainly engaged in international express business, and its gross profit margin is far lower than the industry level
猜你喜欢

Vscode prompt Please install clang or check configuration 'clang executable‘
Application of clock wheel in RPC

建筑建材行业经销商协同系统解决方案:赋能企业构建核心竞争力

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

~88 running people practice

What is torch NN?

照明行业S2B2B解决方案:高效赋能产业供应链,提升企业经济效益

Visual Studio 2019 (LocalDB)MSSQLLocalDB SQL Server 2014 数据库版本为852无法打开,此服务器支持782
![[North Asia data recovery] a database data recovery case where the partition where the database is located is unrecognized due to the RAID disk failure of HP DL380 server](/img/21/513042008483cf21fc66729ae1d41f.jpg)
[North Asia data recovery] a database data recovery case where the partition where the database is located is unrecognized due to the RAID disk failure of HP DL380 server

Communication mode based on stm32f1 single chip microcomputer
随机推荐
Visual studio 2019 (localdb) mssqllocaldb SQL Server 2014 database version is 852 and cannot be opened. This server supports 782
高度剩余法
Market trend report, technical innovation and market forecast of tetrabromophthalate (pht4 diol) in China
Hash table
Understand asp Net core - Authentication Based on jwtbearer
Practice: fabric user certificate revocation operation process
How to decrypt worksheet protection password in Excel file
Inside and outside: flow chart drawing elementary: six common mistakes
世界环境日 | 周大福用心服务推动减碳环保
Cut! 39 year old Ali P9, saved 150million
Accounting regulations and professional ethics [9]
智慧物流園區供應鏈管理系統解决方案:數智化供應鏈賦能物流運輸行業供應鏈新模式
Go语言循环语句(第10课下)
Object.keys()的用法
Median and order statistics
Anta is actually a technology company? These operations fool netizens
C# 实现 FFT 正反变换 和 频域滤波
Go development: how to use go singleton mode to ensure the security of high concurrency of streaming media?
FIREBIRD使用经验总结
tp配置多数据库