ファイル暗号化にN回呼び出される方法があります。この方法で が、これは私が塩を作成する方法である:Java SecureRandom.getInstanceとnextBytesを/ dev/randomで複数回ブロックすることはブロックされますか?
public void method(...){
...
byte[] salt = new byte[8];
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG",
"SUN");
secureRandom.nextBytes(salt);
...
}
私はあなたがにnextBytesを呼び出したときSecureRandomオブジェクトが播種されていることを読んで、唯一の/ dev /ランダム以来、あなたがにnextBytesを呼び出して、非常に最初のタイムをブロックします。クラスの変数seedGeneratorは静的です(https://www.cigital.com/blog/securerandom-implementation/)。
SecureRandom.getInstance(String algorithm、String provider)のJavaDocsには、次のように書かれています。 返されるSecureRandomオブジェクトは、シードされていません。返されたオブジェクトをシードするには、setSeedメソッドを呼び出します。 setSeedが呼び出されていない場合、nextBytesを最初に呼び出すと、SecureRandomオブジェクトが強制的にシードされます。 setSeedが以前に呼び出された場合、この自己シードは発生しません。
私はSecureRandomインスタンスの作成とnextBytesの呼び出しを続けていると私のコードは/ dev/randomにブロックされますか?
ありがとうございます!