Spring security BCryptPasswordEncoder().encode(plainPassword)在每次提交和重新提交后都不会返回相同的值

Spring security BCryptPasswordEncoder().encode(plainPassword)在每次提交和重新提交后都不会返回相同的值,spring-security,Spring Security,我在我的应用程序中应用了Spring安全性,并使用BCrypt对密码进行编码,我得到了有时可以登录,有时不登录的密码。我使用该代码生成哈希密码,如下所示: System.out.println(新的BCryptPasswordEncoder().encode(“admin”) 在重新提交后,我得到了许多不一样的结果。这是一些打印结果: -$2a$10$xbM.XFChI0fV2RYqPe/XSewxSRSzwcbJ5TFAFGACRkTaHWmxL1x -$2a$10$VOAHA9XUFZHL0

我在我的应用程序中应用了Spring安全性,并使用BCrypt对密码进行编码,我得到了有时可以登录,有时不登录的密码。我使用该代码生成哈希密码,如下所示:

System.out.println(新的BCryptPasswordEncoder().encode(“admin”)

在重新提交后,我得到了许多不一样的结果。这是一些打印结果:

-$2a$10$xbM.XFChI0fV2RYqPe/XSewxSRSzwcbJ5TFAFGACRkTaHWmxL1x

-$2a$10$VOAHA9XUFZHL0HPD5.HE.RaLx5Gldy/MjapBoQUYYTGVdHLcSh8q

-$2a$10$1/Kf/Un2oQzARrD.SHsh2OC/Dxwpj1aIeatydMEQSbxgfxOkDF27e==

-$2a$10$o61u5t/R0R2JHOOUDGWCFULL31NIH8UIDVZRN4TSBUS4KECMW

这个原因有时我可以登录,有时不可以


请帮助解决它。

这是正确的
BCryptPasswordEncoder().encode()
应始终返回不同的结果。这是一种安全措施,使得破解编码密码变得更加困难(称为“”)

如果您想知道密码是否正确,则需要使用