Sprache

MessageDigest Klasse

Definition

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder 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
Vererbung
Attribute

Hinweise

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256. Nachrichtendigeste sind sichere unidirektionale Hashfunktionen, die beliebige Daten übernehmen und einen Hashwert mit fester Länge ausgeben.

Ein MessageDigest-Objekt beginnt initialisiert. Die Daten werden mithilfe der #update(byte) update Methoden verarbeitet. #reset() reset Jederzeit kann aufgerufen werden, um den Digest zurückzusetzen. Sobald alle zu aktualisierenden Daten aktualisiert wurden, sollte eine der #digest() digest Methoden aufgerufen werden, um die Hashberechnung abzuschließen.

Die digest Methode kann einmal für eine bestimmte Anzahl von Updates aufgerufen werden. Nachdem digest das MessageDigest-Objekt aufgerufen wurde, wird es auf den initialisierten Zustand zurückgesetzt.

Implementierungen können die Cloneable-Schnittstelle kostenlos implementieren. Clientanwendungen können die Klonbarkeit testen, indem Sie versuchen, cloneNotSupportedException zu klonen und abzufangen:

{@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");
            }
            }

Wenn eine bestimmte Implementierung nicht klonbar ist, ist es weiterhin möglich, Zwischendigeste zu berechnen, indem mehrere Instanzen instanziiert werden, wenn die Anzahl der Digests im Voraus bekannt ist.

Beachten Sie, dass diese Klasse aus historischen Gründen abstrakt ist und sich aus MessageDigestSpi historischen Gründen erstreckt. Anwendungsentwickler sollten nur die in dieser MessageDigest Klasse definierten Methoden beachten. Alle Methoden in der Superklasse sind für kryptografische Dienstanbieter vorgesehen, die ihre eigenen Implementierungen von Nachrichtendigestalgorithmen bereitstellen möchten.

Android stellt die folgenden MessageDigest Algorithmen bereit: <Tabelle><thead><tr><th>Algorithm</th><>Unterstützte API Levels</th></tr></thead><tbody><tr><td>MD5</td td><>1+</td></tr><><td>SHA-1</td td><>1+</td></tr><><td>SHA-224</tdtd 1-8,22+>/td<>/tr<><>td<SHA-256>/td td<><1+>/td/tr<>tr<>td<>< SHA-384>/td td<><1+>/td<>/tr<><>td<SHA-512>/td td<>td<1+>/td<>/tr/tbody<><>/table <><>

Diese Algorithmen werden im Abschnitt MessageDigest des Java Kryptografiearchitektur Standard Algorithm Name Documentation beschrieben.

In 1.1 hinzugefügt.

Java Dokumentation für java.security.MessageDigest.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
MessageDigest(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen.

MessageDigest(String)

Erstellt einen Nachrichtendigest mit dem angegebenen Algorithmusnamen.

Eigenschaften

Name Beschreibung
Algorithm

Gibt eine Zeichenfolge zurück, die den Algorithmus identifiziert, unabhängig von Implementierungsdetails.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
DigestLength

Gibt die Länge des Digests in Bytes oder 0 zurück, wenn dieser Vorgang vom Anbieter nicht unterstützt wird und die Implementierung nicht klonbar ist.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
JniPeerMembers

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
Provider

Gibt den Anbieter dieses Nachrichtendigestobjekts zurück.

ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Name Beschreibung
Clone()

Gibt einen Klon zurück, wenn die Implementierung klonbar ist.

(Geerbt von MessageDigestSpi)
Construct(JniObjectReference, JniObjectReferenceOptions)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
Digest()

Schließt die Hashberechnung ab, indem endgültige Vorgänge wie z. B. Abstand ausgeführt werden.

Digest(Byte[], Int32, Int32)

Schließt die Hashberechnung ab, indem endgültige Vorgänge wie z. B. Abstand ausgeführt werden.

Digest(Byte[])

Führt eine endgültige Aktualisierung des Digests mithilfe des angegebenen Bytearrays aus und schließt dann die Digestberechnung ab.

Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
EngineDigest()

Schließt die Hashberechnung ab, indem endgültige Vorgänge wie z. B. Abstand ausgeführt werden.

(Geerbt von MessageDigestSpi)
EngineDigest(Byte[], Int32, Int32)

Schließt die Hashberechnung ab, indem endgültige Vorgänge wie z. B. Abstand ausgeführt werden.

(Geerbt von MessageDigestSpi)
EngineGetDigestLength()

Gibt die Digestlänge in Byte zurück.

(Geerbt von MessageDigestSpi)
EngineReset()

Setzt den Digest zur weiteren Verwendung zurück.

(Geerbt von MessageDigestSpi)
EngineUpdate(Byte[], Int32, Int32)

Aktualisiert den Digest mithilfe des angegebenen Bytearrays, beginnend mit dem angegebenen Offset.

(Geerbt von MessageDigestSpi)
EngineUpdate(ByteBuffer)

Aktualisieren Sie den Digest mit dem angegebenen ByteBuffer.

(Geerbt von MessageDigestSpi)
EngineUpdate(SByte)

Aktualisiert den Digest mit dem angegebenen Byte.

(Geerbt von MessageDigestSpi)
Equals(Object)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetInstance(String, Provider)

Gibt ein MessageDigest -Objekt zurück, das den angegebenen Digestalgorithmus implementiert.

GetInstance(String, String)

Gibt ein MessageDigest -Objekt zurück, das den angegebenen Digestalgorithmus implementiert.

GetInstance(String)

Gibt ein MessageDigest -Objekt zurück, das den angegebenen Digestalgorithmus implementiert.

IsEqual(Byte[], Byte[])

Vergleicht zwei Digests für Gleichheit.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Reset()

Setzt den Digest zur weiteren Verwendung zurück.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Update(Byte[], Int32, Int32)

Aktualisiert den Digest mithilfe des angegebenen Bytearrays, beginnend mit dem angegebenen Offset.

Update(Byte[])

Aktualisiert den Digest mithilfe des angegebenen Bytearrays.

Update(ByteBuffer)

Aktualisieren Sie den Digest mit dem angegebenen ByteBuffer.

Update(SByte)

Aktualisiert den Digest mit dem angegebenen Byte.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Diese MessageDigest-Klasse stellt Anwendungen die Funktionalität eines Nachrichtendigestalgorithmus bereit, z. B. SHA-1 oder SHA-256.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: