当前位置:网站首页>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));
边栏推荐
- Object.keys()的用法
- Understand asp Net core - Authentication Based on jwtbearer
- 科普达人丨一文看懂阿里云的秘密武器“神龙架构”
- S2b2b solution for lighting industry: efficiently enable the industrial supply chain and improve the economic benefits of enterprises
- Configuration instance of Oracle listener server and client
- Software Engineer vs Hardware Engineer
- Market trend report, technical innovation and market forecast of taillight components in China
- How to contribute to the source code of ongdb core project
- 程序员怎么才能提高代码编写速度?
- Capvision Rongying's prospectus in Hong Kong was "invalid": it was strictly questioned by the CSRC and required supplementary disclosure
猜你喜欢
新的职业已经出现,怎么能够停滞不前 ,人社部公布建筑新职业
How can programmers improve the speed of code writing?
S2b2b solution for lighting industry: efficiently enable the industrial supply chain and improve the economic benefits of enterprises
Vscode setting outline shortcut keys to improve efficiency
~89 deformation translation
祝贺Artefact首席数据科学家张鹏飞先生荣获 Campaign Asia Tech MVP 2022
VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题
NoSQL之readis配置与优化(终章)
Object.keys()的用法
如何实现一个延时队列 ?
随机推荐
2022PMP考试基本情况详情了解
手里10万元存款买什么理财产品收益最高?
China Indonesia adhesive market trend report, technological innovation and market forecast
Capvision Rongying's prospectus in Hong Kong was "invalid": it was strictly questioned by the CSRC and required supplementary disclosure
基于wifi控制的51单片机温度报警器
Position encoding practice in transformer
2021 Google vulnerability reward program review
Final consistency of MESI cache in CPU -- why does CPU need cache
How to implicitly pass values when transferring forms
最大子数组与矩阵乘法
Inside and outside: flow chart drawing elementary: six common mistakes
安信证券排名 网上开户安全吗
Vscode prompt Please install clang or check configuration 'clang executable‘
Cypher task design and task locking mechanism of isomorphic and heterogeneous graphs
Market trend report, technical innovation and market forecast of taillight components in China
L1-072 scratch lottery
Research Report on market supply and demand and strategy of China's four sided flat bag industry
Research Report of exoskeleton robot industry - market status analysis and development prospect prediction
Congratulations to Mr. Zhang Pengfei, chief data scientist of artefact, for winning the campaign Asia tech MVP 2022
Application of clock wheel in RPC