洞察在金融行业,前端桌面框架如何融合小程序技术以提升跨平台操作的灵活性和安全性?
1565
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~