SHA1Fingerprint()
Syntax
Ergebnis$ = SHA1Fingerprint(*Puffer, Groesse)Beschreibung
Gibt einen 40 Zeichen langen SHA1 (Secure Hash Algorithm 1) Hash-Code vom angegebenen Speicherpuffer zurück. SHA1 kann zur Berechnung einer Prüfsumme verwendet werden, um sicherzugehen, dass eine 'Nachricht' nicht verändert wurde. Anders als bei CRC32 ist es nahezu unmöglich, die originale Nachricht zu verändern und trotzdem den gleichen SHA1 Fingerabdruck zu erhalten. Hier eine kurze Erläuterung aus dem RFC 3174 über SHA1:
'Der SHA-1 wird sicher genannt, da es rechnerisch unmöglich ist: eine Nachricht zu finden, die zu einem angegebenen "Message Digest" (Prüfsumme) passt; oder zwei unterschiedliche Nachrichten zu finden, welche den gleichen "Message Digest" produzieren. Jede Änderung einer Nachricht während der Übertragung wird mit sehr hoher Wahrscheinlichkeit in einen unterschiedlichen "Message Digest" resultieren, und die Signatur wird bei der Überprüfung fehlschlagen.'
Weitere Informationen sind im RFC 3174 zu finden: http://www.ietf.org/rfc/rfc3174.txt.
SHA1FileFingerprint() kann verwendet werden, um die SHA1 Prüfsumme einer Datei zu berechnen.
ExamineSHA1Fingerprint() kann verwendet werden, um eine SHA1 Prüfsumme in mehreren Schritten zu berechnen.
Beispiel 1 (ein String als Speicherpuffer):test.s = "This is a test string!" Debug SHA1Fingerprint(@test, StringByteLength(test))Beispiel 2 (mit Speicherpuffer):*Buffer = AllocateMemory(500) If *Buffer PokeS(*Buffer, "The quick brown fox jumps over the lazy dog.") SHA1$ = SHA1Fingerprint(*Buffer, MemorySize(*Buffer)) Debug "SHA1 Fingerprint = " + SHA1$ FreeMemory(*Buffer) ; würde am Programmende auch automatisch erledigt werden EndIf
Unterstützte OS
Alle