美文网首页
Spring Security5的一点发现

Spring Security5的一点发现

作者: 雨中的单车 | 来源:发表于2018-07-30 22:39 被阅读0次

今天好奇把spring boot升到2.0.3.RELEASE版本,发现spring security也发布5以上版本,把所有包都升级后发现spring security下的Md5PasswordEncoder不可用了。后来发现不单是Md5PasswordEncoder不可用的问题,是org.springframework.security.authentication.encoding这个包已经被全干掉了。Md5就这么被时代慢慢抛弃了。

可是我的程序怎么办?原来的Md5代码怎么处理呢,原来spring security5把密码解码器放到org.springframework.security.crypto.password包下了。如果还要使用Md5加密,你只能采用以下方式

引入org.springframework.security.crypto.password包中的PasswordEncoder和MessageDigestPasswordEncoder。

import org.springframework.security.crypto.password.*;

PasswordEncoder passwordEncoder =new MessageDigestPasswordEncoder("MD5");

//加密

passwordEncoder.encode("123456");

当然现在Md5已经被归入放弃的行列,当然被放弃的不但只是Md5,像ldap、MD4、SHA-1、SHA-256等都属于不建议使用的行列,现在已经是pbkdf2、bcrypt、scrypt的天下了。

当你在使用

PasswordEncoder passwordEncoder =new SCryptPasswordEncoder();

千万别忘了加载bcprov-jdk15on这个包,当前最新版本是1.6。

如果是使用gradle,请引入

compilegroup:'org.bouncycastle',name:'bcprov-jdk15on',version:'1.60'

参考文档

https://info.michael-simons.eu/2018/01/13/spring-security-5-new-password-storage-format/

https://docs.spring.io/spring-security/site/docs/5.0.7.RELEASE/reference/htmlsingle/

相关文章

网友评论

      本文标题:Spring Security5的一点发现

      本文链接:https://www.haomeiwen.com/subject/trpqvftx.html