Spring Security如何实现用户密码保护的最佳实践解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1752个文字,预计阅读时间需要8分钟。
1. 前言:本文将对Spring Security中的密码编码进行探讨。
2.不推荐使用MD5。MD5并非加密算法,而是哈希摘要算法。虽然常用于密码保护,但安全性较低。
1. 前言
本节将对 Spring Security 中的密码编码进行一些探讨。
2. 不推荐使用md5
首先md5 不是加密算法,是哈希摘要。以前通常使用其作为密码哈希来保护密码。由于彩虹表的出现,md5 和sha1之类的摘要算法都已经不安全了。如果有不相信的同学 可以到一些解密网站 如 cmd5 网站尝试解密 你会发现 md5 和 sha1 是真的非常容易被破解。
3. Spring Security中的密码算法
ObjectProvider<PasswordEncoder>参数。这里的PasswordEncoder`就是我们对密码进行编码的工具接口。该接口只有两个功能:一个是匹配验证。另一个是密码编码。
上图就是Spring Security 提供的org.springframework.security.crypto.password.PasswordEncoder一些实现,有的已经过时。其中我们注意到一个叫委托密码编码器的实现 。
3.1 委托密码编码器 DelegatingPasswordEncoder
什么是委托(Delegate)?就是甲方交给乙方的活。乙方呢手里又很多的渠道,但是乙方光想赚差价又不想干活。
本文共计1752个文字,预计阅读时间需要8分钟。
1. 前言:本文将对Spring Security中的密码编码进行探讨。
2.不推荐使用MD5。MD5并非加密算法,而是哈希摘要算法。虽然常用于密码保护,但安全性较低。
1. 前言
本节将对 Spring Security 中的密码编码进行一些探讨。
2. 不推荐使用md5
首先md5 不是加密算法,是哈希摘要。以前通常使用其作为密码哈希来保护密码。由于彩虹表的出现,md5 和sha1之类的摘要算法都已经不安全了。如果有不相信的同学 可以到一些解密网站 如 cmd5 网站尝试解密 你会发现 md5 和 sha1 是真的非常容易被破解。
3. Spring Security中的密码算法
ObjectProvider<PasswordEncoder>参数。这里的PasswordEncoder`就是我们对密码进行编码的工具接口。该接口只有两个功能:一个是匹配验证。另一个是密码编码。
上图就是Spring Security 提供的org.springframework.security.crypto.password.PasswordEncoder一些实现,有的已经过时。其中我们注意到一个叫委托密码编码器的实现 。
3.1 委托密码编码器 DelegatingPasswordEncoder
什么是委托(Delegate)?就是甲方交给乙方的活。乙方呢手里又很多的渠道,但是乙方光想赚差价又不想干活。

