SpringBoot MD5密码加密 SpringBoot实现Mysql使用MD5进行密码加密的示例
weixin_44953227 人气:5想了解SpringBoot实现Mysql使用MD5进行密码加密的示例的相关内容吗,weixin_44953227在本文为您仔细讲解SpringBoot MD5密码加密的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot,MD5密码加密,SpringBoot,密码加密,下面大家一起来学习吧。
项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密
以下就简单举例SpringBoot 实现Mysql使用MD5进行密码加密做一个简单的例子
看下数据库,这边简单做了用户表进行测试
pom.xml添加依赖引用
<!--MD5加密 对注册的密码进行加密操作--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8.1</version> </dependency>
创建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值,实际上就是8位的 * */ byte[] byteDigest = md.digest() ; int i ; StringBuffer buf = new StringBuffer("") ; //遍历byteDigest //加密逻辑,可以debug自行了解一下加密逻辑 for(int offset = 0 ; offset<byteDigest.length ; 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" %> <html> <head> <title>添加用户</title> </head> <body> <form action="/addUser" method="post"> 用户名<input type="text" name="username"/><br> 账号<input type="text" name="account"/><br> 密码<input type="password" name="password"/><br> <input type="submit" value="提交"> </form> </body> </html>
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://www.cmd5.com/
复制数据库的加密密码即可
加载全部内容