SecureRandom のパフォーマンスを向上させる戦略
Java における暗号的に堅牢な乱数生成の基礎である SecureRandom は、重大なパフォーマンスのボトルネックを引き起こす可能性があります。 Linux プラットフォームでは、/dev/random への依存により、システムが十分なエントロピーを蓄積するため、ブロッキングが長引く可能性があります。このパフォーマンスの低下を軽減するために、いくつかの戦略を採用できます。
より高速な /dev/urandom 代替手段の利用
Linux では、ユーザーは安全性は若干劣りますが大幅に向上する /dev/urandom を利用できます。 /dev/random の代わりに、より高速な /dev/urandom を使用します。これは、java.security.egd システム プロパティを次のように設定することで実現できます。
-Djava.security.egd=file:/dev/urandom
Java 5 以降の回避策
残念ながら、このメソッドには互換性がありません。既知のバグ (Java Bug 6202721) のため、Java 5 以降のバージョンでは使用できません。この問題を回避するには、次の回避策を適用できます:
-Djava.security.egd=file:/dev/./urandom
(余分な /./ が含まれていることにご注意ください)
代替ソリューション
パフォーマンスの難問に対するもう 1 つの潜在的な解決策には、Uncommon Math の利用が含まれます。高性能の乱数生成器を提供するオープンソース ライブラリ。その実装は SecureRandom とは異なる可能性がありますが、実行可能な代替手段として検討する価値があります。
JDK 6 の進捗
JDK 6 で対処されたパフォーマンスの問題に関しては、矛盾する情報があります。存在します。一部の情報源はこの問題が解決されたことを示唆していますが、他の情報源は解決されていないことを示唆しています。 JDK 6 の現在のステータスを確認するには、さらなる調査が必要な場合があります。
以上がJava で SecureRandom のパフォーマンスを向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。