政务桌面应用系统开发提升政府服务效率的关键所在
1551
2023-01-25
SpringBoot实现Mysql使用MD5进行密码加密的示例
项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密
以下就简单举例SpringBoot 实现mysql使用MD5进行密码加密做一个简单的例子
看下数据库,这边简单做了用户表进行测试
pom.xml添加依赖引用
创建unit包创建md5加密类,进行密码加密
package com.wyh.unit;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* @date 2021/4/20 23:34
*/
public class Md5Utils {
/*
* md5算法进行密码加密
* */
public static String code(String str){
try{
//1.获取MessageDigest对象 生成一个MD5加密计算摘要
MessageDigest md = MessageDigest.getInstance("MD5") ;
/*
str.getBytes()
* 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中.
此方法多用在字节流中,用与将字符串转换为字节。
* */
// 计算md5函数 使用指定的字节数组更新摘要md
md.update(str.getBytes());
/*
* digest()最后确定返回md5 hash值,返回值为8的字符串。
* 因为md5 hash值是16位的hex值,实际上就是8qpOXk位的
* */
byte[] byteDigest = md.digest() ;
int i ;
StringBuffer buf = new StrqpOXkingBuffer("") ;
//遍历byteDigest
//加密逻辑,可以debug自行了解一下加密逻辑
for(int offset = 0 ; offset i = byteDigest[offset] ; if(i < 0) i += 256 ; if(i < 16) buf.append("0") ; // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 buf.append(Integer.toHexString(i)) ; } return buf.toString() ; }catch (NoSuchAlgorithmException e){ e.printStackTrace(); return null ; } } } 添加页面 <%-- Date: 2021/4/21 Time: 0:04 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
i = byteDigest[offset] ;
if(i < 0)
i += 256 ;
if(i < 16)
buf.append("0") ;
// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
buf.append(Integer.toHexString(i)) ;
}
return buf.toString() ;
}catch (NoSuchAlgorithmException e){
e.printStackTrace();
return null ;
}
}
}
添加页面
<%--
Date: 2021/4/21
Time: 0:04
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
用户名
账号
密码
Controller添加方法
@RequestMapping("/addUser")
public String addUser(User user){
//MD5方法对密码进行加密处理
String password= Md5Utils.code(user.getPassword()) ;
user.setPassword(password);
int i = userService.addUser(user);
if(i>0){
return "redirect:/showAllUser";
}
return "";
}
进行添加测试,这边我输入的密码是123456
查看数据库
进行解密可以去:https://cmd5.com/
复制数据库的加密密码即可
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~