用户登录
用户注册

分享至

secpasswordencoder

  • 作者: 我叫王大锤o
  • 来源: 51数据库
  • 2020-04-21

1.md5 为什么 加盐

原因:盐被称作“Salt值”,这个值是由系统随机生成的,并且只有系统知道。即便两个用户使用了同一个密码,由于系统为它们生成的salt值不同,散列值也是不同的。

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

扩展资料:

MD5相对MD4所作的改进:

1、增加了第四轮。

2、每一步均有唯一的加法常数。

3、减弱第二轮中函数的对称性。

4、第一步加上了上一步的结果,这将引起更快的雪崩效应(就是对明文或者密钥改变 1bit 都会引起密文的巨大不同)。

5、改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似。

6、近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应,各轮的位移量互不相同。

参考资料来源:搜狗百科-MD5

2.MD5可以直接放到数据里面用吗

直接放进去,就是取出验证的时候需要反转一下

String pw = EncryptionUtils.encryptByMD5(password, userName, false);

String encryptByMD5(String str,String salt,boolean is64){

Md5PasswordEncoder md5 = new Md5PasswordEncoder();

md5.setEncodeHashAsBase64(is64);

return md5.encodePassword(str, salt);

}

3.org.springside.modules.utils是哪个包

在applicationContext-security.xml里配置有要检查权限的ACTION,会调用一个SERVICE来检查权限,如果没有权限,就会跳转到一个配置的ACTION,例子中是:

<description>SpringSecurity安全配置</description>

<!-- http安全配置 -->

<s:http auto-config="true" use-expressions="true">

<s:intercept-url pattern="/css/**" filters="none" />

<s:intercept-url pattern="/img/**" filters="none" />

<s:intercept-url pattern="/js/**" filters="none" />

<s:intercept-url pattern="/account/user!save*" access="hasAnyRole('ROLE_修改用户')" />

<s:intercept-url pattern="/account/user!delete*" access="hasAnyRole('ROLE_修改用户')" />

<s:intercept-url pattern="/account/user*" access="hasAnyRole('ROLE_浏览用户')" />

<s:intercept-url pattern="/account/role!save*" access="hasAnyRole('ROLE_修改角色')" />

<s:intercept-url pattern="/account/role!delete*" access="hasAnyRole('ROLE_修改角色')" />

<s:intercept-url pattern="/account/role*" access="hasAnyRole('ROLE_浏览角色')" />

<s:form-login login-page="/login.action" default-target-url="/" authentication-failure-url="/login.action?error=true" />

<s:logout logout-success-url="/" />

</s:http>

<;!-- 认证配置, 使用userDetailsService提供的用户信息 -->

<s:authentication-manager alias="authenticationManager">

<s:authentication-provider user-service-ref="userDetailsService">

<s:password-encoder hash="plaintext" />

</s:authentication-provider>

</s:authentication-manager>

<;!-- 项目实现的用户查询服务 -->

<bean id="userDetailsService" class="org.springside.examples.miniweb.service.account.UserDetailsServiceImpl" />

转载请注明出处51数据库 » secpasswordencoder

软件
前端设计
程序设计
Java相关