SHA1Fingerprint()

Syntax

Ergebnis$ = SHA1Fingerprint(*Puffer, Größe)
Beschreibung
Gibt einen 40 Zeichen langen SHA1 (Secure Hash Algorithm 1) Hash-Code vom angegebenen Speicherpuffer zurück.

Parameter

*Puffer Der Puffer, welcher die zu berechnenden (englisch "to be hashed") Daten enthält.
Größe Die Größe des angegebenen Puffers.

Rückgabewert

Gibt den Hash-Code als einen String zurück.

Anmerkungen

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: ein String als Speicherpuffer

  test.s = "This is a test string!"
  Debug SHA1Fingerprint(@test, StringByteLength(test))

Beispiel: 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

Siehe auch

SHA1FileFingerprint(), ExamineSHA1Fingerprint(), MD5Fingerprint(), CRC32Fingerprint()

Unterstützte OS

Alle

<- SHA1FileFingerprint() - Cipher Inhaltsverzeichnis - StartAESCipher() ->