springSecurity   密码md5+salt配置

密码进行md5加密,并且带salt值。

例如username:name password:pass  salt为username

则明文密码为  pass{name}  括弧中为salt对应的username,再对明文密码进行加密

springSecurity配置如下

 <authentication-manager  alias="authenticationManager" >
    <authentication-provider ref="authenticationProvider">  </authentication-provider>
 </authentication-manager>
    
   <beans:bean id="authenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">  
    <beans:property name="userDetailsService" ref="myUserDetailService" />  
    <beans:property name="passwordEncoder" ref="passwordEncoder"/> 
    <beans:property name="saltSource" ref="saltSource"/> 
  </beans:bean>
  
  <beans:bean id="passwordEncoder"  class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
<beans:bean id="saltSource" class="org.springframework.security.authentication.dao.Reflec tionSaltSource">
    <beans:property name="userPropertyToUse" value="username"/>
</beans:bean>

authenticationProvider的配置中加入passwordEncoder与saltSource两个属性

到此配置就结束了

同时,springSecurity提供了Md5PasswordEncoder类实现MD5加密

Md5PasswordEncoder md5 = new Md5PasswordEncoder(); 
String result = md5.encodePassword("user", "user");
System.out.println(result);

md5.encodePassword两个参数中,前一个为password,后一个为salt盐值

同时,网站http://md5jiami.51240.com/ 也提供了在线加密的功能

时间: 2024-10-30 16:31:46

springSecurity   密码md5+salt配置的相关文章

ecshop教程:重置后台密码MD5+salt

ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加密,得到的结果插入password字段. 所以如果忘记后台密码需要重置的话要进行以下操作: 以把密码重置成admin123为例 一.用MD5加密工具对“admin123”进行32位加密得到“0192023a7bbd73250516f069df18b500”: 二.用phpmyadmin打开数据库ec

ecshop 重置后台密码 MD5+salt

ecshop密码加密方式: MD5 32位+salt,简单来说就是明文密码用MD5加密一次,然后在得到的MD5字符后边加上salt字段值(salt值为系统随机生成,生成以后不再改变)再进行一次MD5加密,得到的结果插入password字段. 所以如果忘记后台密码需要重置的话要进行以下操作: 以把密码重置成admin123为例 一.用MD5加密工具对“admin123”进行32位加密得到“0192023a7bbd73250516f069df18b500”: 二.用phpmyadmin打开数据库ec

浅谈密码加SALT原理

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码.  加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点"佐料".其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些"佐料",然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的"佐料",然后散列,再比较散列值,已确定密码是否正确.  这里的"佐

浅谈密码加SALT原理(转载)

原文出处:http://www.2cto.com/Article/201201/117051.html 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码.  加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比

密码加SALT原理

原来这个技术叫SALT,以前我们经常这么用 ==================================================================================== 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往

关于MD5+salt盐加密

MD5+salt 最近浏览浏览一些帖子时,发现曾经引以为傲的md5加密算法,虽然是无法解密的算法,但是现在可以通过FELHELP(谷歌浏览器插件)或者一些字典可以套出来,.但是当md5+salt值时,套出的几率微乎其微. ---以下参考:微尔雅-的java关于md5+salt盐加密验证 一.陈述一下工作流程: 1.根据已有的密码字符串去生成一个密码+盐字符串,可以将盐的加密字符串也存放在数据库(看需求), 2.验证时将提交的密码字符串进行同样的加密再从数据库中取得已有的盐进行组合密码+盐的字符串

redis密码相关的配置

默认redis没有密码,若想配置密码有两种方法: 更改配置文件增加: requirepass yourpass 命令行里设置密码 然后重启redis其中"yourpass"为redis密码redis-cli -p 6379redis 127.0.0.1:6379>redis 127.0.0.1:6379> config get requirepass1) "requirepass"2) (nil)显示密码是空的,然后我们就可以设置一个密码了:redis

Geoserver通过ajax跨域访问服务数据的方法(含用户名密码认证的配置方式)

Goeserver数据有两种,一种需进行用户密码的权限认证,一种无须用户密码.对于网上跨域访问Geoserver数据的种种方法,对这2种数据并非通用. 笔者将Geoserver官方下载的Geoserver.war包部署到linux服务器,通过前端 ajax 访问geoserver数据失败,其中包含跨域问题和用户名密码认证问题,查询网上各类方法进行尝试,结果浏览器控制台分别报出了401,403和跨域错误提示.其中: 401错误:ajax未进行用户名密码验证导致: 403错误:用户名密码验证失败导致

Windows下忘记mysql密码,重新配置

Windows下忘记mysql密码,重新配置 mysql 问题:作死把Navicat里面的连接删除,然后再重新建立连接,结果出现这个: 网上查了些资料,后面发现是自己的密码忘了,因此按照教程走一遍 先停掉sql服务,以便后续操作 net stop mysql 显示: 服务名无效. 请键入 NET HELPMSG 2185 以获得更多的帮助. 搜索后发现,是自己已经改过mysql名字 具体操作: 输入services.msc 找到mysql,发现名字变为了MySQL57 输入net stop My