StartFingerprint()
Syntax
Ergebnis = StartFingerprint(#Fingerprint, Plugin [, Bits])Beschreibung
Initialisiert die Berechnung einer Prüfsumme ("Fingerprint") in mehreren Schritten. Anders als die Fingerprint() Funktion ermöglicht dies die Berechnung der Prüfsumme von großen Daten, ohne die Notwendigkeit, diese komplett in einen zusammenhängenden Speicherpuffer zu laden.
Parameter
#Fingerprint Die Nummer ("Fingerprint" = "Fingerabdruck" in Deutsch), mit der bei späteren Aufrufen auf diese Prüfsummen-Berechnung verwiesen wird. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren. 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.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.
Rückgabewert
Gibt den #Fingerprint Wert zurück, wenn #PB_Any für diesen Parameter verwendet wurde.
Anmerkungen
AddFingerprintBuffer() kann verwendet werden, um Speicherblöcke zur Berechnung hinzuzufügen, und FinishFingerprint() zum Abschließen der Berechnung und Lesen der daraus resultierenden Prüfsumme (Hash).
Beispiel
UseMD5Fingerprint() *Buffer = AllocateMemory(200) ; einen Puffer mit Daten präparieren If *Buffer PokeS(*Buffer, "The quick brown fox jumps over the lazy dog.", -1, #PB_Ascii) Length = MemoryStringLength(*Buffer, #PB_Ascii) If StartFingerprint(0, #PB_Cipher_MD5) ; die Berechnung starten AddFingerprintBuffer(0, *Buffer, Length/2) ; Teil 1 berechnen AddFingerprintBuffer(0, *Buffer+Length/2, Length/2) ; Teil 2 berechnen MD5$ = FinishFingerprint(0) ; Berechnung abschließen Debug "MD5 checksum = " + MD5$ MD5$ = Fingerprint(*Buffer, Length, #PB_Cipher_MD5) ; mit der Berechnung in 1 Schritt vergleichen Debug "MD5 checksum = " + MD5$ EndIf FreeMemory(*Buffer) EndIf
Siehe auch
Fingerprint(), FileFingerprint(), StringFingerprint()
Unterstützte OS
Alle