Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从JVM中获取熵?_Java_Random_Cryptography_Jvm_Secure Random - Fatal编程技术网

Java 如何从JVM中获取熵?

Java 如何从JVM中获取熵?,java,random,cryptography,jvm,secure-random,Java,Random,Cryptography,Jvm,Secure Random,假设我需要一个好的种子来初始化Java程序中的伪随机生成器(PRNG),而我没有访问任何硬件随机生成器的权限 如何在没有任何用户交互的情况下从JVM获取熵 SHA-1将被折旧 该漏洞与CSPRNG构造无关 如何从JVM中获取熵 SecureRandom是各种安全提供商的通用门面 SHA-1将被折旧 该漏洞与CSPRNG构造无关 如何从JVM中获取熵 SecureRandom是各种安全提供程序的通用外观,您可以使用或静态检索也用于SecureRandom本身的种子输入。然后,您可以简单地使用该种子

假设我需要一个好的种子来初始化Java程序中的伪随机生成器(PRNG),而我没有访问任何硬件随机生成器的权限

如何在没有任何用户交互的情况下从JVM获取熵

SHA-1将被折旧

该漏洞与CSPRNG构造无关

如何从JVM中获取熵

SecureRandom
是各种安全提供商的通用门面

SHA-1将被折旧

该漏洞与CSPRNG构造无关

如何从JVM中获取熵

SecureRandom
是各种安全提供程序的通用外观,

您可以使用或静态检索也用于
SecureRandom
本身的种子输入。然后,您可以简单地使用该种子为您自己的CSPRNG种子

正如8472已经解释的那样,实际上不需要这样做,但是如果您想要生成自己的CSPRNG(),那么没有什么可以阻止您—只需在
SecureRandom
实现的构造函数中提供种子即可

你自己能产生更好的熵的机会很小。您可以使用该标准,并使用名称不正确的
setSeed
方法将其添加到CSPRNG的内部状态。不过,在执行此操作之前,我会调用其中一个
nextXxx
方法,否则您可能会替换状态,而不是向其添加熵


请注意,可以扩展
SecureRandom
;对于大多数其他与密码学相关的类来说,情况并非如此。实施CSPRNG并非心胸软弱;作为SHA1PRNG,您创建更好的CSPRNG的可能性很小(Apache实现有一些非常可怕的属性,仅举一次尝试的例子)。

您可以使用或静态检索也用于
SecureRandom
本身的种子输入。然后,您可以简单地使用该种子为您自己的CSPRNG种子

正如8472已经解释的那样,实际上不需要这样做,但是如果您想要生成自己的CSPRNG(),那么没有什么可以阻止您—只需在
SecureRandom
实现的构造函数中提供种子即可

你自己能产生更好的熵的机会很小。您可以使用该标准,并使用名称不正确的
setSeed
方法将其添加到CSPRNG的内部状态。不过,在执行此操作之前,我会调用其中一个
nextXxx
方法,否则您可能会替换状态,而不是向其添加熵



请注意,可以扩展
SecureRandom
;对于大多数其他与密码学相关的类来说,情况并非如此。实施CSPRNG并非心胸软弱;作为SHA1PRNG,您创建更好的CSPRNG的可能性很小(Apache实现有一些非常可怕的属性,仅举一次尝试的例子)。

直接使用SecureRandom如何,取而代之?你可以使用SecureRandom来获取你的熵。作为参考和删除,你只需要改进它,这样它就可以重新打开。这意味着每个人都要付出同样的努力。直接使用SecureRandom怎么样?你可以使用SecureRandom来获取你的熵。作为参考和删除,你应该改进它,以便重新打开它。这意味着每个人都要加倍努力。