Datenhashes

Ein Hash eines Texts oder einer anderen Zeichenfolge von Bytes ist ein zugeordneter, statistisch eindeutiger Wert mit fester Länge. In einigen Dokumenten wird ein Hash eines Texts auch als Digest bezeichnet. In dieser Dokumentation wird jedoch immer der Begriff Hash verwendet. CryptoAPI-Funktionen bieten eine Möglichkeit, einen Hash für einen beliebigen Text oder eine andere Zeichenfolge von Bytes zu erstellen. Dieser Hash kann dann als eindeutiger Bezeichner der zugeordneten Daten verwendet werden.

Um die Integrität eines Texts sicherzustellen, kann ein Hash eines Texts gesendet werden, um den Text zu begleiten. Der Empfänger kann dann einen Hash für die empfangenen Daten berechnen und den berechneten Hash mit dem empfangenen Hash vergleichen. Wenn die beiden übereinstimmen, müssen die empfangenen Daten mit den Daten übereinstimmen, aus denen der empfangene Hash erstellt wurde.

Um einen Hashwert zu erhalten, erstellen Sie mithilfe von CryptCreateHash ein Hashobjekt. Dieses Objekt sammelt die zu überprüfenden Daten. Die Daten werden dann dem Hashobjekt mit der CryptHashData-Funktion hinzugefügt.

Nachdem dem Hash der letzte Datenblock hinzugefügt wurde, wird die CryptGetHashParam-Funktion verwendet, um den Hashwert der Daten zu erhalten.

Eine bessere Sicherheit wird erzielt, indem das Hashobjekt mit CryptDestroyHash zerstört wird, sobald der Hashwert erhalten wurde.