SecureRandom クラス

定義

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

[Android.Runtime.Register("java/security/SecureRandom", DoNotGenerateAcw=true)]
public class SecureRandom : Java.Util.Random
[<Android.Runtime.Register("java/security/SecureRandom", DoNotGenerateAcw=true)>]
type SecureRandom = class
    inherit Random
継承
SecureRandom
属性

注釈

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

暗号的に強力な乱数は、FIPS 140-2、暗号モジュールのセキュリティ要件、セクション 4.9.1 で指定されている統計的乱数ジェネレーター テストに最小限準拠していますhttp://csrc.nist.gov/cryptval/140-2.htm。 さらに、SecureRandom は非決定論的な出力を生成する必要があります。 したがって、SecureRandom オブジェクトに渡されるシード マテリアルは予測不可能である必要があり、 RFC 1750: Randomness Recommendations for Securityhttp://www.ietf.org/rfc/rfc1750.txt で説明されているように、すべての SecureRandom 出力シーケンスは暗号的に強力である必要があります。

呼び出し元は、引数なしのコンストラクターまたはいずれかのメソッドを使用して SecureRandom インスタンスを getInstance 取得します。

SecureRandom random = new SecureRandom();

多くの SecureRandom 実装は、擬似乱数ジェネレーター (PRNG) の形式です。つまり、決定論的アルゴリズムを使用して、真のランダム シードから擬似ランダム シーケンスを生成します。 他の実装では真の乱数が生成される場合があり、他の実装では両方の手法を組み合わせて使用できます。

SecureRandom の一般的な呼び出し元は、ランダムバイトを取得するために次のメソッドを呼び出します。

SecureRandom random = new SecureRandom();
                 byte bytes[] = new byte[20];
                 random.nextBytes(bytes);

呼び出し元は、 メソッドを generateSeed 呼び出して、特定の数のシード バイトを生成することもできます (たとえば、他の乱数ジェネレーターをシードする場合)。

byte seed[] = random.generateSeed(20);

注: 実装によっては、 generateSeed メソッドと nextBytes メソッドがエントロピの収集時にブロックされる場合があります。たとえば、さまざまな Unix に似たオペレーティング システムで /dev/random から読み取る必要がある場合などです。

Crypto プロバイダーのSHA1PRNG アルゴリズムは安全でなかったため非推奨となり、一部のアプリではキー派生関数として誤って使用されています。 詳細については 、「Android N で非推奨のセキュリティ "Crypto" プロバイダー」 を参照してください。

java.security.SecureRandomJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

コンストラクター

SecureRandom()

既定の乱数アルゴリズムを実装するセキュリティで保護された乱数ジェネレーター (RNG) を構築します。

SecureRandom(Byte[])

既定の乱数アルゴリズムを実装するセキュリティで保護された乱数ジェネレーター (RNG) を構築します。

SecureRandom(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

SecureRandom(SecureRandomSpi, Provider)

SecureRandom オブジェクトを作成します。

プロパティ

Algorithm

この SecureRandom オブジェクトによって実装されるアルゴリズムの名前を返します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
InstanceStrong

SecureRandom オブジェクトを返します。

JniIdentityHashCode

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
JniPeerMembers

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

PeerReference

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
Provider

この SecureRandom オブジェクトのプロバイダーを返します。

ThresholdClass

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Dispose()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
Dispose(Boolean)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GenerateSeed(Int32)

このクラスがシード自体に使用するシード生成アルゴリズムを使用して計算された、指定されたシード バイト数を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetInstance(String)

指定した乱数ジェネレーター (RNG) アルゴリズムを実装する SecureRandom オブジェクトを返します。

GetInstance(String, Provider)

指定した乱数ジェネレーター (RNG) アルゴリズムを実装する SecureRandom オブジェクトを返します。

GetInstance(String, String)

指定した乱数ジェネレーター (RNG) アルゴリズムを実装する SecureRandom オブジェクトを返します。

GetSeed(Int32)

このクラスがシード自体に使用するシード生成アルゴリズムを使用して計算された、指定されたシード バイト数を返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Next(Int32)

ユーザー指定の擬似ランダム ビット数を含む整数を生成します (右揃えで、先頭に 0 が付けられます)。

NextBoolean()

この乱数ジェネレーターのシーケンスから、次の擬似乱数を一様に分散した boolean 値を返します。

(継承元 Random)
NextBytes(Byte[])

ランダムなバイトを生成し、ユーザー指定のバイト配列に配置します。

(継承元 Random)
NextDouble()

この乱数ジェネレーターのシーケンスとの間0.0で一様に分散されたdouble次の擬似乱数値を1.0返します。

(継承元 Random)
NextFloat()

この乱数ジェネレーターのシーケンスとの間0.0で一様に分散されたfloat次の擬似乱数値を1.0返します。

(継承元 Random)
NextGaussian()

この乱数ジェネレーターのシーケンスからの平均0.0と標準偏差1.0を持つ次の擬似乱数ガウス ("通常") 分散double値を返します。

(継承元 Random)
NextInt()

この乱数ジェネレーターのシーケンスから、次の擬似乱数を一様に分散した int 値を返します。

(継承元 Random)
NextInt(Int32)

この乱数ジェネレーターのシーケンスから取得された、0 (包括) から指定された値 (排他的) の間で一様に分散 int された擬似乱数を返します。

(継承元 Random)
NextLong()

この乱数ジェネレーターのシーケンスから、次の擬似乱数を一様に分散した long 値を返します。

(継承元 Random)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetSeed(Byte[])

このランダム オブジェクトを再シードします。

SetSeed(Int64)

1 つの long シードを使用して、この乱数ジェネレーターのシードを設定します。

(継承元 Random)
ToArray<T>()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。>

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.Finalized()

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

GetJniTypeName(IJavaPeerable)

このクラスは、暗号的に強力な乱数ジェネレーター (RNG) を提供します。

適用対象