全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object
   |
   +----java.util.Random
           |
           +----java.security.SecureRandom
このクラスは、 SHA-1 ハッシュ アルゴリズムに基づく頑丈な暗号擬似乱数ジェネレータを提供します。
Random から継承される呼び出しは、 機能強化のために実装します。
 
 SecureRandom()
	SecureRandom()
   SecureRandom(byte[])
	SecureRandom(byte[])
   
 getSeed(int)
	getSeed(int)
   next(int)
	next(int)
   nextBytes(byte[])
	nextBytes(byte[])
   setSeed(byte[])
	setSeed(byte[])
   setSeed(long)
	setSeed(long)
  long seed に含まれている 8 バイトを使用してこの乱数オブジェクトを再シードする。
 
 SecureRandom
SecureRandom
public SecureRandom()
この構築子が、所定の Virtual Machine で最初に呼ばれる場合には、そのベースとなるハードウェアによっては、ジェネレータをシードするのに数秒の CPU 時間を必要とすることもあります。その後に続く呼び出しは高速に実行されます。そのシードビットに対して、同じ (内部) 擬似乱数ジェネレータを使用するからです。
この構築子が実装するシード手続きは、各 SecureRandom インスタンスが生成する擬似乱数バイトのシーケンスが、ほかのどんなインスタンスでもそれが生成するバイト シーケンスを推定させるような情報を作り出さないことを保証しています。ただし、ユーザが本当に無関係なシードをもつ複数のインスタンスを生成したい場合には、以下のコードがその要求する結果を作り出してくれます (インスタンスあたり相当な CPU 時間を要しますが)
SecureRandom rnd = new SecureRandom(SecureRandom.getSeed(20));
 SecureRandom
SecureRandom
public SecureRandom(byte seed[])
 
 setSeed
setSeed
public synchronized void setSeed(byte seed[])
 setSeed
setSeed
public void setSeed(long seed)
long seed に含まれている 8 バイトを使用してこの乱数オブジェクトを再シードします。指定のシードは、既存のシードを置き換えるのではなく補足するものです。したがって、呼び出しを反復しても、乱数性が減少しないように保証されています。 
 このメソッドは、 java.util.Random との互換性のための定義されているものです。
 nextBytes
nextBytes
public synchronized void nextBytes(byte bytes[])
 next
next
protected final int next(int numBits)
java.util.Random メソッドをオーバーライドし、そのクラス (たとえば、 nextInt、 nextLong、および nextFloat) から継承するメソッドのすべてに乱数ビットのソースを提供することに対応します。
numBits <= 32  である。
     getSeed
getSeed
public static byte[] getSeed(int numBytes)
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス