ホームページ >Java >&#&チュートリアル >Java で SecureRandom のパフォーマンスを向上するにはどうすればよいですか?

Java で SecureRandom のパフォーマンスを向上するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-02 07:00:15716ブラウズ

How Can I Improve the Performance of SecureRandom in Java?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。