Fingerprint()

Syntax

Ergebnis$ = Fingerprint(*Puffer, Größe, Plugin [, Bits [, HmacKey$ [, HmacKeyFormat]]])
Beschreibung
Gibt einen Fingerprint ("Fingerabdruck", Prüfsumme) für den angegebenen Puffer zurück.

Parameter

*Puffer Der Speicherpuffer, welcher die Daten enthält.
Größe Die Größe des angegebenen Puffers.
Plugin Das zu verwendende Plugin. Dies kann einer der folgenden Werte sein:
  #PB_Cipher_CRC32: verwendet den CRC32 Algorithmus. UseCRC32Fingerprint() muss vorher aufgerufen werden, um dieses Plugin zu registrieren.
  #PB_Cipher_MD5  : verwendet den MD5 Algorithmus. UseMD5Fingerprint() muss vorher aufgerufen werden, um dieses Plugin zu registrieren.
  #PB_Cipher_SHA1 : verwendet den SHA1 Algorithmus. UseSHA1Fingerprint() muss vorher aufgerufen werden, um dieses Plugin zu registrieren.
  #PB_Cipher_SHA2 : verwendet den SHA2 Algorithmus. UseSHA2Fingerprint() muss vorher aufgerufen werden, um dieses Plugin zu registrieren.
  #PB_Cipher_SHA3 : verwendet den SHA3 Algorithmus. UseSHA3Fingerprint() muss vorher aufgerufen werden, um dieses Plugin zu registrieren.
Das zu verwendende Plugin kann mit dem #PB_Cipher_HMAC Flag kombiniert werden, um einen HMAC (Hash-basierter Nachrichtenauthentifizierungscode, englisch "hash based message authentication code") anstelle eines regulären 'Fingerprints' zu berechnen. In diesem Fall wird zusätzlich der Parameter "HmacKey$" benötigt. Ein Beispiel für die Verwendung des HMAC-Flags finden Sie unter StringFingerprint().
Bits (optional) Die für die Prüfsumme zu verwendende Anzahl Bits. Dies wird nur bei den folgenden Plugins unterstützt:
  #PB_Cipher_SHA2 : kann 224, 256 (Standard), 384 oder 512 lauten.
  #PB_Cipher_SHA3 : kann 224, 256 (Standard), 384 oder 512 lauten.
HmacKey$ (optional) Der geheime Schlüssel, der bei der HMAC-Berechnung verwendet werden soll. Dieser Parameter wird nur verwendet, wenn #PB_Cipher_HMAC beim 'Plugin'-Parameter hinzugefügt wird.
HmacKeyFormat (optional) Das für den HMAC-Schlüssel zu verwendende Stringformat. Dies kann einer der folgenden Werte sein:
  #PB_Ascii  : kodiert den Schlüssel in ASCII
  #PB_UTF8   : kodiert den Schlüssel in UTF-8 (Standard).
  #PB_Unicode: kodiert den Schlüssel in Unicode

Rückgabewert

Gibt den Fingerprint als einen hexadezimalen String zurück.

Beispiel

  UseMD5Fingerprint()

  *Buffer = AllocateMemory(500)    
  If *Buffer
    PokeS(*Buffer, "The quick brown fox jumps over the lazy dog.", -1, #PB_Ascii)
    MD5$ = Fingerprint(*Buffer, MemoryStringLength(*Buffer, #PB_Ascii), #PB_Cipher_MD5)
    Debug "MD5 Fingerprint = " + MD5$
    FreeMemory(*Buffer)  ; würde auch am Ende des Programms automatisch erfolgen
  EndIf

Siehe auch

FileFingerprint(), StartFingerprint(), StringFingerprint()

Unterstützte OS

Alle

<- FileFingerprint() - Cipher Inhaltsverzeichnis - FinishCipher() ->