gpt4 book ai didi

java慢: entropy related issue

转载 作者:太空宇宙 更新时间:2023-11-04 10:55:42 24 4
gpt4 key购买 nike

我遇到了一个问题,即通过 SSL 使用 java 时速度很慢。解决办法是添加

-Djava.security.egd=file:/dev/./urandom
在命令行中运行 java。由于我有多个 JVM,我不想修改每个 JVM 以包含此字符串,因此想将其添加到文件
$JAVA_HOME/jre/lib/security/java.security
中。

现在,java.security 文件已包含

securerandom.source=file:/dev/urandom

关于此的两个问题:

  1. “/dev/urandom”与“/dev/./urandom”为何以及有何不同。为什么java不接受“/dev/urandom”
  2. 对于我正在运行的 JVM,我如何判断它们是否使用正确的 urandmon 设备(相对于随机)

最佳答案

这实际上是 1.3 或 1.4 天引入 JVM 的 hack

http://bugs.sun.com/view_bug.do?bug_id=4705093

http://bugs.sun.com/view_bug.do?bug_id=6202721

基本问题是,在 native JVM 代码中,他们对 /dev/urandom 进行了硬编码,以实际使用 /dev/random 来尝试确保足够的熵。由于 /dev/urandom 应该保证不会阻塞,因此如果没有足够的熵可用,就会产生阻塞的意外后果。

硬编码专门针对字符串/dev/urandom,因此提供解析为相同内容但不匹配导致所需行为的内容。如果您编写 /dev/./urandom 代码,您将绕过硬编码的别名并获得预期的 urandom 熵源。

关于java慢: entropy related issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47343446/

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