MemHash
Dieser Befehl bildet für eine Nachricht einen Authentifizierungs-Code. Der Code wird aus dem Inhalt des übergebenen Memory-Objekts (obj) und dem Verfahren (int1) errechnet. Im Parameter (int1) wird auch die Kodierung des Ergebnisses angegeben. Folgende Konstanten können übergeben werden:
-
Hash-Verfahren
_MemHashMD5: MD5-Hash (Message-Digest Algorithm 5)_MemHashRMD160: RIPEMD 160-Hash (RACE Integrity Primitives Evaluation Message Digest)_MemHashSHA1: SHA-1 Hash (Secure Hash Algorithm)_MemHashSHA256: SHA-256 Hash_MemHashSHA384: SHA-386 Hash_MemHashSHA512: SHA-512 Hash
-
Kodierung des Ergebnisses
_MemResultHex: Hexadezimales Ergebnis_MemResultBase64: Base64-kodiertes Ergebnis
Der Parameter (int1) setzt sich aus der Kombination je einer Konstanten aus den Bereichen Verfahren und Ergebnis-Kodierung zusammen.
Beispiel:
tHashValue # tMem->MemHash(_MemHashSHA256 | _MemResultHex);
Der Hash-Wert kann auch aus einem Teil des Memory-Objekts gebildet werden. Dazu wird die Startposition (int2) und die zu berücksichtigende Länge (int3) angegeben. Wird eine ungültigen Startposition (int2) oder eine zu große Länge (int3) angegeben, wird ein Laufzeitfehler erzeugt.
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Der übergeben Deskriptor (obj) ist ungültig._ErrValueInvalid: Als Hash- und Kodierungsverfahren (int1) wurde eine ungültige/unvollständige Kombination angegeben. Aus jeder Gruppe muss eine Konstante angegeben werden._ErrValueRange: Die angegeben Startposition (int2) oder die Länge des Bereiches (int3) ist zu groß.