クラスSecureRandom
- すべての実装されたインタフェース:
Serializable,RandomGenerator
強力な暗号化による乱数は、「FIPS 140-2, Security Requirements for Cryptographic Modules」のセクション4.9.1に指定されている統計的乱数生成テストに最低限適合しています。 また、SecureRandomは非決定的な出力を生成する必要があります。 したがって、SecureRandomオブジェクトに渡されるシード・マテリアルは予測できない必要があり、「RFC 4086: セキュリティのランダム性要件」で説明されているように、すべてのSecureRandom出力シーケンスは暗号的に強力である必要があります。
多くのSecureRandom実装は、疑似乱数ジェネレータ(PRNG(deterministic random bits generator、DRBGとも呼ばれる))の形式です。これは、決定的アルゴリズムを使用してランダム・シードから疑似乱数シーケンスを生成することを意味します。 実装の中には、真の乱数を生成するものもあれば、両方の技術の組み合わせを使用するものもあります。
呼出し側は、引数なしコンストラクタまたはgetInstanceメソッドのいずれかを介してSecureRandomインスタンスを取得します。 たとえば、
SecureRandom r1 = new SecureRandom();
SecureRandom r2 = SecureRandom.getInstance("NativePRNG");
SecureRandom r3 = SecureRandom.getInstance("DRBG",
DrbgParameters.instantiation(128, RESEED_ONLY, null));
前述の3番目の文は、特定のインスタンス化パラメータをサポートする特定のアルゴリズムのSecureRandomオブジェクトを返します。 実装の有効なインスタンス化パラメータは、この最小リクエストと一致する必要がありますが、必ずしも同じではありません。 たとえば、リクエストに特定の機能が必要ない場合でも、実際のインスタンス化でその機能を提供できます。 実装は、実際に使用されるまでSecureRandomを遅延的にインスタンス化できますが、有効なインスタンス化パラメータは作成直後に決定する必要があり、getParameters()は常に同じ結果を変更せずに返す必要があります。
SecureRandomの典型的な呼び出し元は、以下のメソッドを呼び出してランダムなバイトを取得します:
SecureRandom random = new SecureRandom(); byte[] bytes = new byte[20]; random.nextBytes(bytes);
呼び出し側は、generateSeed(int)メソッドを呼び出して、指定された数のシード・バイトを生成することもできます。(他の乱数ジェネレータをシード):
byte[] seed = random.generateSeed(20);
新しく作成されたPRNG SecureRandomオブジェクトは、(SecureRandom(byte[])によって作成されている場合を除き)にシードされません。 nextBytesへの最初のコールは、実装固有のエントロピ・ソースから自身を強制的にシードします。 setSeedが以前に呼び出されている場合、この自己シードは行われません。
SecureRandomは、reseedまたはsetSeedメソッドをコールして、いつでも再シードできます。 reseedメソッドは、エントロピ・ソースからエントロピ入力を読み取り、自身をリ・シードします。 setSeedメソッドでは、コール元がシードを提供する必要があります。
reseedは、すべてのSecureRandom実装でサポートされない場合があります。
一部のSecureRandom実装では、メソッドの動作をさらに制御するために、nextBytes(byte[], SecureRandomParameters)メソッドおよびreseed(SecureRandomParameters)メソッドでSecureRandomParametersパラメータを使用できます。
ノート: 実装によっては、generateSeed、reseedおよびnextBytesメソッドが、たとえば、様々なUnixに似たオペレーティング・システムでエントロピ・ソースが/dev/randomの場合に、エントロピが収集されるとブロックされることがあります。
スレッドの安全性
SecureRandomオブジェクトは、複数の同時スレッドで安全に使用できます。- 実装要件:
SecureRandomサービス・プロバイダは、プロバイダの登録時に「サービス・プロバイダ属性」 "ThreadSafe"を"true"に設定することで、それがスレッド・セーフであることを通知できます。 それ以外の場合、このクラスはかわりに、SecureRandomSpi実装の次のメソッドへのアクセスを同期します:- 導入されたバージョン:
- 1.1
- 外部仕様
- 関連項目:
-
ネストされたクラスのサマリー
インタフェースjava.util.random.RandomGeneratorで宣言されたネストされたクラス/インタフェース
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明デフォルトの乱数アルゴリズムを実装する、セキュリティ保護された乱数ジェネレータ(RNG)を構築します。SecureRandom(byte[] seed) デフォルトの乱数アルゴリズムを実装する、セキュリティ保護された乱数ジェネレータ(RNG)を構築します。protectedSecureRandom(SecureRandomSpi secureRandomSpi, Provider provider) SecureRandomオブジェクトを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明byte[]generateSeed(int numBytes) 指定されたバイト数のシード・バイトを返します。シード・バイトの計算には、このクラスが自身をシードするのに使用するシード生成アルゴリズムが使用されます。このSecureRandomオブジェクトによって実装されたアルゴリズムの名前を返します。static SecureRandomgetInstance(String algorithm) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。static SecureRandomgetInstance(String algorithm, String provider) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。static SecureRandomgetInstance(String algorithm, Provider provider) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。static SecureRandomgetInstance(String algorithm, SecureRandomParameters params) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。static SecureRandomgetInstance(String algorithm, SecureRandomParameters params, String provider) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。static SecureRandomgetInstance(String algorithm, SecureRandomParameters params, Provider provider) 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。static SecureRandomsecurerandom.strongAlgorithmsSecurityプロパティで指定されたアルゴリズムまたはプロバイダを使用して選択されたSecureRandomオブジェクトを返します。このSecureRandomインスタンスの有効なSecureRandomParametersを返します。final ProviderこのSecureRandomオブジェクトのプロバイダを返します。static byte[]getSeed(int numBytes) 指定されたバイト数のシード・バイトを返します。シード・バイトの計算には、このクラスが自身をシードするのに使用するシード生成アルゴリズムが使用されます。protected final intnext(int numBits) ユーザーが指定した数の擬似乱数ビット(右詰、ゼロ埋め込み)を含む整数を生成します。voidnextBytes(byte[] bytes) ユーザーが指定したバイト数の乱数バイト数を生成します。voidnextBytes(byte[] bytes, SecureRandomParameters params) 追加パラメータを使用して、ユーザー指定のランダム・バイト数を生成します。voidreseed()このSecureRandomを、エントロピ・ソースから読み取られたエントロピ入力で再シードします。voidreseed(SecureRandomParameters params) このSecureRandomを、エントロピ・ソースから読み取られたエントロピ入力で追加パラメータとともに再シードします。voidsetSeed(byte[] seed) このランダムなオブジェクトを、指定されたシードに再シードします。voidsetSeed(long seed) 指定されたlong seedに含まれている8バイトを使用して、この乱数オブジェクトを再シードします。toString()このSecureRandomの人間が読める文字列表現を返します。クラスjava.util.Randomで宣言されたメソッド
doubles, doubles, doubles, doubles, from, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLongクラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitインタフェースjava.util.random.RandomGeneratorで宣言されたメソッド
equiDoubles, isDeprecated, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextGaussian, nextInt, nextLong, nextLong
-
コンストラクタの詳細
-
SecureRandom
public SecureRandom()デフォルトの乱数アルゴリズムを実装する、セキュリティ保護された乱数ジェネレータ(RNG)を構築します。このコンストラクタは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。
SecureRandom(RNG)アルゴリズムをサポートする最初のプロバイダからSecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 どのプロバイダもRNGアルゴリズムをサポートしていない場合は、実装固有のデフォルトが返されます。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」の
SecureRandomの項を参照してください。 -
SecureRandom
public SecureRandom(byte[] seed) デフォルトの乱数アルゴリズムを実装する、セキュリティ保護された乱数ジェネレータ(RNG)を構築します。SecureRandomインスタンスは、指定されたシード・バイトでシードされます。このコンストラクタは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。
SecureRandom(RNG)アルゴリズムをサポートする最初のプロバイダからSecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 どのプロバイダもRNGアルゴリズムをサポートしていない場合は、実装固有のデフォルトが返されます。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」の
SecureRandomの項を参照してください。- パラメータ:
seed- シード。- スロー:
NullPointerException-seedがnullの場合
-
SecureRandom
protected SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider) SecureRandomオブジェクトを作成します。- パラメータ:
secureRandomSpi-SecureRandom実装。provider- プロバイダ
-
-
メソッドの詳細
-
getInstance
public static SecureRandom getInstance(String algorithm) throws NoSuchAlgorithmException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のプロバイダから
SecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、さらに
jdk.security.provider.preferredSecurityプロパティを使用して、指定したアルゴリズムの優先プロバイダ順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。 - パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
NoSuchAlgorithmException-Providerが、指定されたアルゴリズムのSecureRandomSpi実装をサポートしていない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
getInstance
public static SecureRandom getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。指定したプロバイダから
SecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。provider- プロバイダ名。- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
IllegalArgumentException- プロバイダ名がnullまたは空の場合NoSuchAlgorithmException- 指定されたアルゴリズムのSecureRandomSpi実装が、指定されたプロバイダから利用可能でない場合NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
getInstance
public static SecureRandom getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装するSecureRandomオブジェクトを返します。指定したプロバイダから
SecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 指定されたプロバイダをプロバイダ・リストに登録する必要はありません。- パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。provider- プロバイダ- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
IllegalArgumentException- 指定されたプロバイダがnullの場合NoSuchAlgorithmException- 指定されたアルゴリズムのSecureRandomSpi実装が、指定されたProviderオブジェクトから使用できない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
getInstance
public static SecureRandom getInstance(String algorithm, SecureRandomParameters params) throws NoSuchAlgorithmException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。このメソッドは、最も優先されるプロバイダから始まる登録済セキュリティ・プロバイダのリストを横断します。 指定されたアルゴリズムをサポートし、指定された
SecureRandomParametersをサポートする最初のプロバイダからSecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、さらに
jdk.security.provider.preferredプロパティを使用して、指定されたアルゴリズムの優先プロバイダ順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。 - パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。params- 新しく作成されたSecureRandomオブジェクトがサポートするSecureRandomParameters。- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
IllegalArgumentException- 指定されたパラメータがnullの場合NoSuchAlgorithmException- 指定されたアルゴリズムとパラメータに対してSecureRandomSpi実装をサポートするプロバイダがない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 9
- 関連項目:
-
getInstance
public static SecureRandom getInstance(String algorithm, SecureRandomParameters params, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。指定したプロバイダから
SecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。params- 新しく作成されたSecureRandomオブジェクトがサポートするSecureRandomParameters。provider- プロバイダ名。- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
IllegalArgumentException- プロバイダ名がnullまたは空の場合、またはパラメータがnullの場合NoSuchAlgorithmException- 指定されたプロバイダが、指定されたアルゴリズムおよびパラメータのSecureRandomSpi実装をサポートしていない場合NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 9
- 関連項目:
-
getInstance
public static SecureRandom getInstance(String algorithm, SecureRandomParameters params, Provider provider) throws NoSuchAlgorithmException 指定された乱数ジェネレータの(RNG)アルゴリズムを実装し、指定されたSecureRandomParametersリクエストをサポートするSecureRandomオブジェクトを返します。指定したプロバイダから
SecureRandomSpi実装をカプセル化する新しいSecureRandomオブジェクトが返されます。 指定されたプロバイダをプロバイダ・リストに登録する必要はありません。- パラメータ:
algorithm- RNGアルゴリズムの名前。 標準RNGアルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のSecureRandomの項を参照してください。params- 新しく作成されたSecureRandomオブジェクトがサポートするSecureRandomParameters。provider- プロバイダ- 戻り値:
- 新しい
SecureRandomオブジェクト - スロー:
IllegalArgumentException- 指定されたプロバイダまたはパラメータがnullの場合NoSuchAlgorithmException- 指定されたプロバイダが、指定されたアルゴリズムおよびパラメータのSecureRandomSpi実装をサポートしていない場合NullPointerException-algorithmがnullである場合- 導入されたバージョン:
- 9
- 関連項目:
-
getProvider
public final Provider getProvider()このSecureRandomオブジェクトのプロバイダを返します。- 戻り値:
- この
SecureRandomオブジェクトのプロバイダ。
-
getAlgorithm
public String getAlgorithm()このSecureRandomオブジェクトによって実装されたアルゴリズムの名前を返します。- 戻り値:
- アルゴリズムの名前。アルゴリズム名を特定できない場合は
unknown。 - 導入されたバージョン:
- 1.5
-
toString
-
getParameters
public SecureRandomParameters getParameters()このSecureRandomインスタンスの有効なSecureRandomParametersを返します。戻り値は、
getInstanceメソッドに渡されるSecureRandomParametersオブジェクトと異なる場合がありますが、このSecureRandomオブジェクトの存続期間中は変更できません。呼出し側は、戻り値を使用して、この
SecureRandomがサポートする機能を確認できます。- 戻り値:
- 有効な
SecureRandomParametersパラメータ、またはパラメータが使用されていない場合はnull。 - 導入されたバージョン:
- 9
- 関連項目:
-
setSeed
public void setSeed(byte[] seed) このランダムなオブジェクトを、指定されたシードに再シードします。 シードは、既存のシードを置き換えるのではなく、補足します。 これにより、呼出しを繰り返しても、ランダム性が減少しないことが保証されます。nextBytesまたはreseedコールの前にsetSeedがコールされた場合、PRNGSecureRandomは自動的にシードされません。 呼び出し側は、seed引数に、このSecureRandomのセキュリティのための十分なエントロピが含まれていることを確認する必要があります。- パラメータ:
seed- シード。- スロー:
NullPointerException-seedがnullの場合- 関連項目:
-
setSeed
public void setSeed(long seed) 指定されたlong seedに含まれている8バイトを使用して、この乱数オブジェクトを再シードします。 与えられたシードは、既存のシードと置き換わるのではなく、既存のシードに追加されます。 これにより、呼出しを繰り返しても、ランダム性が減少しないことが保証されます。nextBytesまたはreseedコールの前にsetSeedがコールされた場合、PRNGSecureRandomは自動的にシードされません。 呼び出し側は、seed引数に、このSecureRandomのセキュリティのための十分なエントロピが含まれていることを確認する必要があります。このメソッドは、
java.util.Randomとの互換性のために定義されています。 -
nextBytes
public void nextBytes(byte[] bytes) ユーザーが指定したバイト数の乱数バイト数を生成します。- 定義:
- インタフェース
RandomGenerator内のnextBytes - オーバーライド:
nextBytes、クラスRandom- パラメータ:
bytes- 乱数バイトを充填する配列。- スロー:
NullPointerException-bytesがnullの場合
-
nextBytes
public void nextBytes(byte[] bytes, SecureRandomParameters params) 追加パラメータを使用して、ユーザー指定のランダム・バイト数を生成します。- パラメータ:
bytes- 乱数バイトを充填する配列params- 追加パラメータ- スロー:
NullPointerException-bytesがnullの場合UnsupportedOperationException- 基本のプロバイダ実装がこのメソッドをオーバーライドしていない場合IllegalArgumentException-paramsがnullの場合、このSecureRandomによって不正またはサポートされていない- 導入されたバージョン:
- 9
-
next
protected final int next(int numBits) ユーザーが指定した数の擬似乱数ビット(右詰、ゼロ埋め込み)を含む整数を生成します。 このメソッドはjava.util.Randomメソッドをオーバーライドし、そのクラス(例:nextInt、nextLongおよびnextFloat)から継承されたすべてのメソッドにランダム・ビットのソースを提供します。 -
getSeed
public static byte[] getSeed(int numBytes) 指定されたバイト数のシード・バイトを返します。シード・バイトの計算には、このクラスが自身をシードするのに使用するシード生成アルゴリズムが使用されます。 この呼出しを使うと、ほかの乱数ジェネレータをシードできます。このメソッドは、下位互換のためだけに提供されています。 呼出し側は、代替の
getInstanceメソッドのいずれかを使用してSecureRandomオブジェクトを取得し、generateSeedメソッドをコールしてそのオブジェクトからシード・バイトを取得することをお薦めします。- パラメータ:
numBytes- 生成するシード・バイト数。- 戻り値:
- シード・バイト。
- スロー:
IllegalArgumentException-numBytesが負の場合- 関連項目:
-
generateSeed
public byte[] generateSeed(int numBytes) 指定されたバイト数のシード・バイトを返します。シード・バイトの計算には、このクラスが自身をシードするのに使用するシード生成アルゴリズムが使用されます。 この呼出しを使うと、ほかの乱数ジェネレータをシードできます。- パラメータ:
numBytes- 生成するシード・バイト数。- 戻り値:
- シード・バイト。
- スロー:
IllegalArgumentException-numBytesが負の場合
-
getInstanceStrong
public static SecureRandom getInstanceStrong() throws NoSuchAlgorithmExceptionsecurerandom.strongAlgorithmsSecurityプロパティで指定されたアルゴリズムまたはプロバイダを使用して選択されたSecureRandomオブジェクトを返します。RSA公開/非公開キーのような付加価値の高い永続的な秘密情報を作成する場合など、状況によっては強力な乱数値が必要になります。 アプリケーションが適切で強力な
SecureRandom実装を選択できるようにするため、Javaディストリビューションでは、securerandom.strongAlgorithmsセキュリティ・プロパティに既知の強力なSecureRandom実装のリストが含まれています。Javaプラットフォームのすべての実装は、強力な
SecureRandom実装を1つ以上サポートする必要があります。- 戻り値:
securerandom.strongAlgorithmsセキュリティ・プロパティで示される強力なSecureRandom実装- スロー:
NoSuchAlgorithmException- アルゴリズムが存在しない場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
reseed
public void reseed()このSecureRandomを、エントロピ・ソースから読み取られたエントロピ入力で再シードします。- スロー:
UnsupportedOperationException- 基礎となるプロバイダ実装がこのメソッドをオーバーライドしていない場合。- 導入されたバージョン:
- 9
-
reseed
public void reseed(SecureRandomParameters params) このSecureRandomを、エントロピ・ソースから読み取られたエントロピ入力で追加パラメータとともに再シードします。エントロピはエントロピ源から取得されることに注意してください。
paramsの一部のデータにはエントロピが含まれている場合がありますが、その主な用途は多様性を提供することです。- パラメータ:
params- 余分なパラメータ- スロー:
UnsupportedOperationException- 基礎となるプロバイダ実装がこのメソッドをオーバーライドしていない場合。IllegalArgumentException-paramsがnullの場合、このSecureRandomによって不正またはサポートされていない- 導入されたバージョン:
- 9
-