gpt4 book ai didi

spring-security - 如何生成用于 Hipster 的加密密码

转载 作者:行者123 更新时间:2023-12-04 00:11:43 25 4
gpt4 key购买 nike

我想生成一系列用于 JHipster 的 Spring Security 的用户名/密码。我的计划是将它们插入 src/main/resources/config/liquibase/users.csv,但我无法生成加密密码以进入此文件。

我希望能够做这样的事情:

def encoder = new BCryptPasswordEncoder()
println encoder.encode('admin')

但生成的字符串(“$2a$10$icbkSBY4H/ub8pKAcnYhjeCit3A6e8JszUVZfu74sG6qqrSoT9CYW”)与默认 users.csv 文件中的已知值不匹配($2a$10$gSAhZrxMllrbgj/kkK9UceBPpChGWJA7SYIb1Mqo.n5aRCq1)。/p

有人可以解释一下我在这里缺少什么吗?

谢谢!

--约翰

最佳答案

没关系。 BCrypt 每次都会生成一个新的散列,因为这个字符串的一部分是随机盐。 Bcrypt 编码器可以比较这样的哈希值,因为它知道从哪里得到 salt 和实际的 hash,所以它可以使用这个 salt 加密密码并比较结果使用实际的哈希

您的 $2a$10$icbkSBY4H/ub8pKAcnYhjeCit3A6e8JszUVZfu74sG6qqrSoT9CYW 包含:

  • icbkSBY4H/ub8pKAcnYhje 作为盐
  • IjZAgcfl7p92ldGxad68LJZdL17lhWy 作为散列

所以首先,即使对于相同的原始密码,每次都可以得到不同的加密密码。二、不需要手动比对,使用PasswordEncoder.matches

您也可以使用任何在线 BCrypt 密码编码器,而不是为此编写代码。有很多。

另请参阅:https://en.wikipedia.org/wiki/Bcrypt

关于spring-security - 如何生成用于 Hipster 的加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com