Spring Security中的BCryptPasswordEncoder类采用SHA-256
+随机盐+密钥对密码进行加密。SHA是一系列的加密算法,有SHA-1、SHA-2、SHA-3三大类,SHA-256是SHA-2下细分出的一种算法,此算法发生哈希碰撞的概率几乎为0,安全性高。
BCryptPasswordEncoderd 的encoder方法加密,每次加密后的密文都不相同,这使得,即使数据库中的密文被获取,也无法获取明文密码。
参考文章:
SpringSecurity中的密码加密算法:BCryptPasswordEncoder