- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您能否解释一下 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/
我想咨询一些关于 Java 中 SecureRandom 的常见神话、安全与性能权衡的问题。 在网上查了一段时间,整理了以下资料。我希望这里的人能帮助我确认我得到了什么,并希望对实际选择实现的内容有一
我正在尝试使用 SecureRandom 生成随机值,特别是它对流的支持。理想情况下,值应该在恒定的基础上生成,因此流可以是无限的: SecureRandom secureRandom = new S
我想知道 Docker 容器中的随机(或伪随机)序列生成,但遇到了另一个有趣的行为。 直接从 /dev/urandom 读取 8000000 字节并使用 ENT 测试结果时给出以下内容: Entrop
我需要生成加密的安全、随机和唯一字符串,每个字符串都将用作实际上是访问 token 。为此,我计划使用 Java 的 SecureRandom 类。但是,我不确定 SecureRandom 能否保证唯
我有一个使用 SHA1PRNG 的 SecureRandom 生成器: SecureRandom rnd = SecureRandom.getInstance("SHA1PRNG"); 让我们假设这个
我在我的安卓客户端和服务器(Servlet)中得到了一个随机数。我在客户端和服务器中使用相同的 SecureRandom 算法(“SHA1PRNG”)。两者的种子值相同。但是我得到的输出数字在客户端和
我有一个需要加盐密码的应用程序。为了生成盐,我决定使用 SecureRandom。当我在我的 Windows 机器上时,一切都很好。然后我尝试在基于 Linux 的机器 (Centos 5) 上运行我
这是生成密码盐的正确方法吗? SecureRandom random = new SecureRandom(); byte[] salt = random.genera
我正在尝试按照以下方式打乱整数数组, 来自http://en.wikipedia.org/wiki/Fisher-Yates_shuffle , “当 Fisher–Yates shuffle 与伪随
在调查为什么我的 Ubuntu 15 上的 tomcat 8 服务器在启动时没有响应时,事实证明它花费了大量时间来尝试创建 SecureRandom 的实例。为什么会这样以及如何解决? May 19,
我们有一个生成随机临时密码的业务需求。根据用例,此类调用的数量预计非常低(约 400 个调用/天)。根据互联网上的各种建议以及阅读了许多关于 SO 的类似帖子后,我们决定使用 java.securit
尽管在阅读了很多关于 SecureRandom 的文章之后,我还是对 Java 中 SecureRandom 安全 API 的使用产生了疑问。在下面的示例中。 public class SecureR
我找到了很多关于 SecureRandom 的例子看起来像这样的类: Random random = new SecureRandom(); int randomInteger = random.ne
假设你做简单的事情: public class Main { public static void main(String[] args) { long started = S
SecureRandom 线程安全吗?也就是初始化之后,能否依赖对下一个随机数的访问是线程安全的?检查源代码似乎表明它是,this bug report似乎表明它缺乏作为线程安全的文档是一个 java
我正在尝试使用 SecureRandom 在我的 java 项目中生成随机数。但是对于如何为 SecureRandom 保留我的对象,我有点困惑。它应该是一个 static 类成员。我不打算从外面打电
我有一个使用 SecureRandom 实例并获取下一个随机数的类。 让我们说这个例子是: public class ExampleClass() { public void method()
关于SecureRandom,我有些不明白。以这里的代码为例: import java.security.SecureRandom; import java.math.BigInteger; publ
来自 java.util.Random 的 java.security.SecureRandom 种子是否会削弱加密强随机数生成器? 我看到这段代码,想知道为什么要以这种特定的方式完成。 random
在我的群组实体中,我生成一个随 secret 钥,用作“共享代码”:人们可以使用此代码邀请并找到彼此。以下是我的使用方法: public function __construct() { //
我是一名优秀的程序员,十分优秀!