- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个使用 Spring 安全性的 Spring 项目。我之前使用的是 Spring Boot 1.5,现在迁移到了 Spring Boot 2.0。
我注意到 Md5PasswordEncoder已在 Spring Security 的最终版本中删除。相反,即使已弃用 ( https://docs.spring.io/spring-security/site/docs/5.0.3.RELEASE/api/),Md4PasswordEncoder
仍然存在。
我应该使用外部 MD5 编码器还是将分类移动到其他地方?
最佳答案
Md5PasswordEncoder
不复存在的事实并不意味着 Spring Security 5 无法创建 MD5
哈希。为此,它使用 new MessageDigestPasswordEncoder("MD5")
。
有两个选项,都与新的 DelegatingPasswordEncoder
一起使用,它需要一个密码前缀来确定哈希算法,例如 {MD5}password_hash
:
要么将默认密码编码器设置为MD5
(大写!),因此如果密码没有前缀,则应用默认编码器:
PasswordEncoder passwordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
passwordEncoder.setDefaultPasswordEncoderForMatches(new MessageDigestPasswordEncoder("MD5"));
或者用{MD5}
作为数据库中现有密码散列的前缀。这样,DelegatingPasswordEncoder
委托(delegate)给“MD5”哈希器。像这样的东西:
update myusertable set pwd = '{MD5}' || pwd;
关于java - Spring Security >5.0.0 移除了 Md5PasswordEncoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633672/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!