言語

MessageDigest クラス

定義

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

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

注釈

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。 メッセージ ダイジェストは、任意のサイズのデータを受け取り、固定長ハッシュ値を出力する安全な一方向ハッシュ関数です。

MessageDigest オブジェクトが初期化を開始します。 データは、 #update(byte) update メソッドを使用して処理されます。 任意の時点で #reset() reset ダイジェストをリセットするために呼び出すことができます。 更新するすべてのデータが更新されたら、ハッシュ計算を完了するために、 #digest() digest メソッドの 1 つを呼び出す必要があります。

digestメソッドは、特定の数の更新に対して 1 回呼び出すことができます。 digestが呼び出されると、MessageDigest オブジェクトは初期化された状態にリセットされます。

実装は Cloneable インターフェイスを自由に実装できます。 クライアント アプリケーションでは、複製を試み、CloneNotSupportedException をキャッチすることで、複製可能性をテストできます。

{@code
            MessageDigest md = MessageDigest.getInstance("SHA-256");

            try {
                md.update(toChapter1);
                MessageDigest tc1 = md.clone();
                byte[] toChapter1Digest = tc1.digest();
                md.update(toChapter2);
                ...etc.
            } catch (CloneNotSupportedException cnse) {
                throw new DigestException("couldn't make digest of partial content");
            }
            }

特定の実装が複製できない場合でも、ダイジェストの数が事前にわかっている場合は、複数のインスタンスをインスタンス化して中間ダイジェストを計算できます。

このクラスは抽象であり、歴史的な理由から MessageDigestSpi から拡張されていることに注意してください。 アプリケーション開発者は、この MessageDigest クラスで定義されているメソッドのみを認識する必要があります。スーパークラス内のすべてのメソッドは、メッセージ ダイジェスト アルゴリズムの独自の実装を提供する暗号化サービス プロバイダーを対象としています。

Android MessageDigest には、<table><thead><tr><th>Algorithm</th><th>Supported API Levels</th/tr></thead><><tbody><tr><td>MD5< /td><td>1+</td></tr><tr><>sha-1</td><td>1+</td></tr><tr><td>SHA-224</td><td>1-8,22+</td></tr><tr><td>SHA-256</td><td>1+</td></tr><tr><td>SHASHA-384</td><td>1+</td></tr><tr><td>SHA-512</td><td>1+</td></tr></tbody></table>

これらのアルゴリズムについては、Java暗号化アーキテクチャの標準アルゴリズム名に関するドキュメントの MessageDigest セクションで説明されています。

1.1 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
MessageDigest(IntPtr, JniHandleOwnership)

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

MessageDigest(String)

指定したアルゴリズム名を使用してメッセージ ダイジェストを作成します。

プロパティ

名前 説明
Algorithm

実装の詳細に関係なく、アルゴリズムを識別する文字列を返します。

Class

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

(継承元 Object)
DigestLength

ダイジェストの長さをバイト単位で返します。この操作がプロバイダーでサポートされておらず、実装が複製できない場合は 0 を返します。

Handle

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

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
JniPeerMembers

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Provider

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

ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Clone()

実装が複製可能な場合は、複製を返します。

(継承元 MessageDigestSpi)
Construct(JniObjectReference, JniObjectReferenceOptions)

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
Digest()

パディングなどの最終的な操作を実行して、ハッシュ計算を完了します。

Digest(Byte[], Int32, Int32)

パディングなどの最終的な操作を実行して、ハッシュ計算を完了します。

Digest(Byte[])

指定したバイト配列を使用してダイジェストの最終更新を実行し、ダイジェストの計算を完了します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
EngineDigest()

パディングなどの最終的な操作を実行して、ハッシュ計算を完了します。

(継承元 MessageDigestSpi)
EngineDigest(Byte[], Int32, Int32)

パディングなどの最終的な操作を実行して、ハッシュ計算を完了します。

(継承元 MessageDigestSpi)
EngineGetDigestLength()

ダイジェストの長さをバイト単位で返します。

(継承元 MessageDigestSpi)
EngineReset()

ダイジェストをさらに使用するためにリセットします。

(継承元 MessageDigestSpi)
EngineUpdate(Byte[], Int32, Int32)

指定したオフセットから始まる、指定したバイト配列を使用してダイジェストを更新します。

(継承元 MessageDigestSpi)
EngineUpdate(ByteBuffer)

指定した ByteBuffer を使用してダイジェストを更新します。

(継承元 MessageDigestSpi)
EngineUpdate(SByte)

指定したバイトを使用してダイジェストを更新します。

(継承元 MessageDigestSpi)
Equals(Object)

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetInstance(String, Provider)

指定したダイジェスト アルゴリズムを実装する MessageDigest オブジェクトを返します。

GetInstance(String, String)

指定したダイジェスト アルゴリズムを実装する MessageDigest オブジェクトを返します。

GetInstance(String)

指定したダイジェスト アルゴリズムを実装する MessageDigest オブジェクトを返します。

IsEqual(Byte[], Byte[])

2 つのダイジェストを等しいかどうかを比較します。

JavaFinalize()

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Reset()

ダイジェストをさらに使用するためにリセットします。

SetHandle(IntPtr, JniHandleOwnership)

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

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

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

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Update(Byte[], Int32, Int32)

指定したオフセットから始まる、指定したバイト配列を使用してダイジェストを更新します。

Update(Byte[])

指定したバイト配列を使用してダイジェストを更新します。

Update(ByteBuffer)

指定した ByteBuffer を使用してダイジェストを更新します。

Update(SByte)

指定したバイトを使用してダイジェストを更新します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

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

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

(継承元 Object)
Wait(Int64)

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

(継承元 Object)

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

名前 説明
IJavaPeerable.Disposed()

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
IJavaPeerable.Finalized()

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

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

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

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

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

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

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

この MessageDigest クラスは、SHA-1 や SHA-256 などのメッセージ ダイジェスト アルゴリズムの機能をアプリケーションに提供します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象