2

我搜索了 Spring 5 Security 的文档,但在任何地方都找不到对 BCrypt$2y$版本前缀的引用。

但是,在查看源代码时,我在Javadoc 中PasswordEncoder找到了一个参考:

可以选择提供“版本”($2a、$2b、$2y)

谁能给我一些共识?使用 Spring 5 Security 时是否可以使用$2y$bcrypt 版本前缀?

4

1 回答 1

5

这取决于您使用的版本,引入此功能的提交5.2.0.M1是在 2018 年 10 月 18 日。它有标签,表示将引入此提交的版本,该版本的官方文档现在指定此功能存在

使用 BCrypt 强散列函数的 PasswordEncoder 的实现。客户端可以选择提供一个“版本”($2a、$2b、$2y)和一个“强度”(在 BCrypt 中也称为日志轮数)和一个 SecureRandom 实例。强度参数越大,必须(以指数方式)对密码进行哈希处理的工作就越多。默认值为 10。

在版本之前5.2.0.M1没有这个功能,这个版本还没有正式发布,只有快照(5.2.0.M12019年1月16日发布)。

如果您想使用此功能,则必须使用此版本(或更高版本),直到正式发布为止。

于 2019-01-29T13:39:10.270 回答