我搜索了Spring 5 Security的文档,但我在任何地方都找不到对BCrypt $2y$
版本前缀的引用。
但是,在查看源代码时,我在PasswordEncoder
的Javadoc中找到了一个引用:
可以选择提供"版本"($ 2a, $2b, $2y)
谁能给我一些共识?使用 Spring 5 安全性时是否可以使用 $2y$
bcrypt 版本前缀?
这取决于您使用的版本,引入此功能的提交是在 2018 年 10 月 18 日。它具有标签5.2.0.M1
这意味着这是将引入此提交的版本,该版本的官方文档现在指定存在此功能:
使用 BCrypt 强哈希的密码编码器的实现 功能。客户可以选择提供一个"版本"($ 2a, $2b, $2y) 和"强度"(又称BCrypt.log回合)和安全随机 实例。强度参数越大,需要做的工作就越多 完成(指数级)对密码进行哈希处理。默认值为 10.
在版本5.2.0.M1
之前,此功能不存在,此版本尚未正式发布,只有快照(5.2.0.M1
于2019年1月16日发布)。
如果您想使用此功能,则必须使用此版本(或更高版本),直到正式发布为止。