首先看下sping security的xml配置:

    <!-- 替换user-service-ref方式的AuthenticationProvider --><bean id="myAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider"><property name="userDetailsService" ref="myUserDetailService"></property><!-- 默认为true隐藏后台正常的异常 --><property name="hideUserNotFoundExceptions" value="false"></property><!-- 使用MD5加密--><property name="passwordEncoder" ref="md5PasswordEncoder"></property><!-- 登录账号做为盐值,username为org.springframework.security.core.userdetails.User属性 --><!--<property name="saltSource"><bean class="org.springframework.security.authentication.dao.ReflectionSaltSource"><property name="userPropertyToUse" value="username"></property></bean></property>--></bean>

下面这个是spring本身的加密规则和定义了一个自身的加密规则:

    <!-- 用户的密码加密或解密 <bean id="md5PasswordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"></bean>--><!-- 可定义自己的加密规则 --><bean id="md5PasswordEncoder" class="com.ruizhisoft.framework.security.MyPasswordEncoder"></bean>

spring源码的代码就不贴了,下面贴下自己的加密规则(可实现多个加密规则于一身),首先要继承上面源码的那个类(org.springframework.security.authentication.encoding.Md5PasswordEncoder),然后重写isPasswordValid()方法,返回true就是验证通过,false即为验证不通过!

    public boolean isPasswordValid(String encPass, String rawPass, Object salt) {boolean flag = false;if(StringUtils.isNotBlank(MD5_CLASS) && MD5WithSalt.equals(MD5_CLASS)){//MD5WithSalt,这个加密方式flag = com.ruizhisoft.framework.security.utils.MD5WithSalt.verify(rawPass, encPass);}else{//MyMd5PasswordEncoder,这个加密方式flag = com.ruizhisoft.framework.security.utils.MyMd5PasswordEncoder.verify(encPass, rawPass, null);}return flag;}

spring security3 使用自定义MD5或者其他加密规则相关推荐

  1. java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串...

    java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 1 package com.zdz.test; ...

  2. 使用Spring Security3的四种方法概述

    使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...

  3. spring security3(转)

    转:spring security3 初探  http://yzxqml.iteye.com/blog/1756106 现在很多企业和开发团队都使用了SSH2(Struts 2 +Spring 2.5 ...

  4. 关于对《Spring Security3》翻译 (第一章 - 第三章)

    原文:http://lengyun3566.iteye.com/category/153689?page=2 翻译说明 最近阅读了<Spring Security3>一书,颇有收获(封面见 ...

  5. 春天的故事-Spring Security3十五日研究

    sparta-紫杉   2011-4-2 22:00 前言 南朝<述异记>中记载,晋王质上山砍柴,见二童子下棋,未看完,斧柄已烂,下山回村,闻同代人都去世了,自已还未变老.     因此发 ...

  6. Spring Security3十五日研究

    前言 南朝<述异记>中记载,晋王质上山砍柴,见二童子下棋,未看完,斧柄已烂,下山回村,闻同代人都去世了,自已还未变老.     因此发出"山中方一日,世上几千年" 的慨 ...

  7. Spring Boot 整合 shiro 之盐值加密认证详解(六)

    Spring Boot 整合 shiro 之盐值加密认证详解 概述 不加盐认证 加入密码认证核心代码 修改 CustomRealm 新增获取密文的方法 修改 doGetAuthenticationIn ...

  8. Spring全家桶-Spring Security之自定义数据库表认证和鉴权

    Spring全家桶-Spring Security之自定义数据库表认证和鉴权 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供 ...

  9. java shiro盐值加密_java中spring-shiro实现密码的MD5盐值加密

    看了网上很多教程,都提到有配置spring shiro的密码加密方式,甚至给出了自定义的Class来实现.却很少有通过配置来解决的. 密码的盐值加密方式应该是非常通用的,也可以算是基础吧.按理说spr ...

  10. Springboot + Shiro——MD5 盐值加密(配置)

    其实这里所说的盐,简单的说,就是一组安全随机数.它会在特定的时候,加入到密码中(一般来说是加密后的密码).从而使密码变得更有味道(从单一简单化到复杂化),更安全. 如何做到? 1). 在 doGetA ...

最新文章

  1. html中legend设置大小,HTML_如何给 legend 标签设定宽度,我们在做表单的时候经常会使 - phpStudy...
  2. (转)Linux进程调度时机
  3. 关于交换机SVI(转)
  4. Fibonacci数列 矩阵快速幂
  5. AC66U-B1) 刷梅林固件教程
  6. 计算机网络动画是什么软件,把动漫人头p人身上的软件叫什么 软件介绍
  7. 《利用python进行数据分析》读书笔记--第十章 时间序列(一)
  8. java框架之Quartz-任务调度整合Spring
  9. Hexo 入门指南(一) - 简介 准备
  10. 按键精灵手机助手php通讯,按键精灵手机助手教程_按键精灵手机助手怎么连接手机...
  11. 极光笔记|极光推送在APICloud平台的使用教程
  12. 免费分享佳能ir c3320 c3330 c3325彩色复印机中文维修手册
  13. c语言图像峰值信噪比,PSNRSSIM
  14. linux 编译chromium,chromium(linux环境)指定版本下载和编译教程
  15. c++20中的span
  16. java利用redis的setIfAbsent和incr,实现自增,限制总数
  17. MATLAB:执行程序时调用bin文件夹下的.m文件,却显示找不到该文件
  18. 沃尔玛的产品知识图谱
  19. 利用tushare进行股票数据分析
  20. 互斥事件的概念和公式_互斥事件

热门文章

  1. 计算机英特尔显卡在哪找,Win10英特尔显卡设置在哪里 英特尔核芯显卡控制面板六大功能详解...
  2. mysql创建临时表慢_mysql临时表产生的执行效率问题改进(转)
  3. 简单工厂(Java)
  4. Gatekeeper:首个开源的DDoS防护系统
  5. 《基因突变》学习笔记
  6. 微信小程序踩坑”日记“--Failed to load image xxx (404)
  7. 数字化转型没有银弹,不破不立,如何破?如何立?
  8. 服务案例|TAS系统安全深度威胁发现案例
  9. 《百家讲坛》之战国七雄
  10. 清明节html网页,清明节