本文目的:使用springBoot+springSecurity 用户授权验证权限功能,对用户的登录密码使用MD5 加密。

本文基于我的博客:springboot+mybatis+SpringSecurity 实现用户角色数据库管理 
进行修改。

本文只讲述对密码加密部分。只需要修改securityConfig 文件,并添加md5 工具类即可。


修改WebSecurityConfig.java

对于WebSecurityConfig.Java 文件只需修改configure(AuthenticationManagerBuilder auth) 方法。

@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(customUserService()).passwordEncoder(new PasswordEncoder(){@Overridepublic String encode(CharSequence rawPassword) {return MD5Util.encode((String)rawPassword);}@Overridepublic boolean matches(CharSequence rawPassword, String encodedPassword) {return encodedPassword.equals(MD5Util.encode((String)rawPassword));}}); //user Details Service验证}

添加MD5工具类

package com.us.example.util;/*** Created by yangyibo on 17/2/7.*/
import java.security.MessageDigest;
/*** MD5加密工具**/
public class MD5Util {private static final String SALT = "tamboo";public static String encode(String password) {password = password + SALT;MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("MD5");} catch (Exception e) {throw new RuntimeException(e);}char[] charArray = password.toCharArray();byte[] byteArray = new byte[charArray.length];for (int i = 0; i < charArray.length; i++)byteArray[i] = (byte) charArray[i];byte[] md5Bytes = md5.digest(byteArray);StringBuffer hexValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++) {int val = ((int) md5Bytes[i]) & 0xff;if (val < 16) {hexValue.append("0");}hexValue.append(Integer.toHexString(val));}return hexValue.toString();}public static void main(String[] args) {System.out.println(MD5Util.encode("abel"));}
}

数据库

使用MD5 加密后,数据库中存储的密码应该是加密后的密码

本文完整代码:https://github.com/527515025/springBoot

SpringBoot+Spring Security验证密码MD5加密相关推荐

  1. springBoot+springSecurity验证密码MD5加密

    本文目的:使用springBoot+springSecurity 用户授权验证权限功能,对用户的登录密码使用MD5 加密. 本文只讲述对密码加密部分.只需要修改securityConfig 文件,并添 ...

  2. SpringBoot + Spring Security 简单入门

    这篇文章主要介绍了SpringBoot + Spring Security 简单入门 Spring Security 基本介绍 这里就不对Spring Security进行过多的介绍了,具体的可以参考 ...

  3. Spring Security:密码编码器PasswordEncoder介绍与Debug分析

    博主在之前已经介绍了Spring Security的用户UserDetails与用户服务UserDetailsService,本篇博客介绍Spring Security的密码编码器PasswordEn ...

  4. Springboot Spring Security +Jwt+redis+mybatisPlus 动态完成 前后端分离认证授权

    Springboot Spring Security +Jwt 动态完成 前后端分离认证授权 文章目录 Springboot Spring Security +Jwt 动态完成 前后端分离认证授权 前 ...

  5. 【笔记】springboot+spring security登录流程实现

    在登录控制器中添加一个登录接口login,在其中验证验证码.用户名.密码信息.匹配成功之后,执行Spring Security的登录认证机制.登录成功之后,返回Token令牌凭证. SysLoginC ...

  6. Springboot + Spring Security多种登录方式:账号用户名登录+微信网页授权登录

    一.概述 实现账号用户名+微信网页授权登录集成在Spring Security的思路,最重要的一点是要实现微信登录通过Spring Security安全框架时,不需要验证账号.密码. 二.准备工作 要 ...

  7. SpringBoot + Spring Security多种登录方式:账号+微信网页授权登录

    一.概述 实现账号用户名+微信网页授权登录集成在Spring Security的思路,最重要的一点是要实现微信登录通过Spring Security安全框架时,不需要验证账号.密码. 二.准备工作 要 ...

  8. 框架使用SpringBoot + Spring Security Oauth2 +PostMan

    框架使用SpringBoot + Spring Security Oauth2  主要完成了客户端授权  可以通过mysql数据库读取当前客户端表信息进行验证,token存储在数据库中 1.引入依赖 ...

  9. SpringBoot + Spring Security Oauth2 客户端授权

    框架使用SpringBoot + Spring Security Oauth2  主要完成了客户端授权  可以通过mysql数据库读取当前客户端表信息进行验证,token存储在数据库中 1.引入依赖 ...

最新文章

  1. oracle11g注册在哪里,oracle 如何新建账号密码在suse11,oracle11g和tomcat开机自启动...
  2. WPF 快速制作可拖拽的对象和窗体
  3. windows7无人值守应答文件.rar_数智化赋能人力共享运营,人力管理走向“无人值守”...
  4. 比较=、==、===
  5. 【Flutter】Dart数据类型之String
  6. (转)王小川湖畔大学演讲:人工智能最具商业价值的是什么?
  7. 测试工程师日常工作流程
  8. Intellj(IDEA)部署新项目, “warning no artifacts configured” 完美解决方案
  9. 笔记本摄像头计算机,笔记本摄像头怎么开
  10. 索引 sql server_SQL索引管理器–关于SQL Server,深入挖掘和索引维护的悠久历史
  11. Unity Shader 之 环境光
  12. 《悲剧性选择》卡拉布雷西 epub+mobi+azw3
  13. 女人要优雅,男人要幽默
  14. GEC6818 移植 rtl8723bu wifi驱动
  15. for..in和for ..of的用法
  16. python dll_python3.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  17. 坚持,不慕虚荣,踏实。
  18. 计算机在英语写作中应用,计算机技术在英语写作教学中的应用研究
  19. QT+C++与PLC进行以太网通讯
  20. NOIP模拟试题详讲2021/11/9

热门文章

  1. 支付宝红包强攻微信社交,臆想出来的豪门恩怨
  2. timestamp类型设置默认时间
  3. PHP运行神器--用HHVM减少你一半的服务器
  4. Android性能优化案例研究(上)
  5. 【转】(原創) 如何使用ModelSim-Altera對Nios II仿真? (SOC) (Nios II) (SOPC Builder) (ModelSim) (DE2)...
  6. 拿来主义——老外写的系统统计脚本
  7. 在Hadoop 2.3上运行C++程序各种疑难杂症(Hadoop Pipes选择、错误集锦、Hadoop2.3编译等)
  8. Google code 100个开源项目
  9. Android开源框架——图片加载库Glide
  10. php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的