gpt4 book ai didi

java spring BCryptPasswordEncoder "SecureRandom random"构造函数参数

转载 作者:行者123 更新时间:2023-11-30 07:09:39 24 4
gpt4 key购买 nike

您能否解释一下 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 类中的 SecureRandom random 参数是什么意思?

Javadoc 在这里:javadoc

我询问这个​​构造函数:BCryptPasswordEncoder(int Strength, SecureRandom random)。我无法理解参数 SecureRandom random 的含义。

我尝试阅读 spring 文档或在 google 中找到一些内容,但我仍然不明白它的目的。我知道 bCrypt 总是在密码中添加一些随机盐,但正如我从 BCrypt 类的源代码中看到的,它是不一样的。

最佳答案

正如 SecureRandom 的 javadoc 中所述,它是一个包含随机数的对象,您可以使用该随机数来随机化 BCryptPasswordEncoder 生成的哈希值。

以下是该类的 javadoc 的说明:

A cryptographically strong random number minimally complies with the statistical random number generator tests specified in FIPS 140-2, Security Requirements for Cryptographic Modules, section 4.9.1.

有关如何创建 SecureRandom 的示例,这里引用了文档中的另一句话:

Typical callers of SecureRandom invoke the following methods to retrieve random bytes:

  SecureRandom random = new SecureRandom();
byte bytes[] = new byte[20];
random.nextBytes(bytes);

Callers may also invoke the generateSeed method to generate a given number of seed bytes (to seed other random number generators, for example):

  byte seed[] = random.generateSeed(20);

关于java spring BCryptPasswordEncoder "SecureRandom random"构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39428779/

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