クラス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
-