Zum Hauptinhalt springen

MemHMAC

obj -> MemHMAC(int1, alpha2[, int3[, int4[, handle5]]]) : alpha

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Authentifizierungs-Code ermitteln

Details

Dieser Befehl bildet für eine Nachricht einen Authentifizierungs-Code. Der Code wird aus dem Inhalt des übergebenen Memory -Objekts (obj), dem Verfahren (int1) und dem Schlüssel (alpha2) errechnet. Der Schlüssel kann alternativ in einem Memory -Objekt vorliegen, welches in (alpha5) angegeben wird. Dazu muss in (int1) _MemKeyMem angegeben sein. Es werden maximal die ersten 1024 Byte des Schlüssels aus dem Memory-Objekt berücksichtigt.

Im Parameter (int1) wird auch die Kodierung des Ergebnisses angegeben. Folgende Konstanten können übergeben werden:

info

Der Parameter (int1) setzt sich aus der Kombination je einer Konstanten aus den Bereichen Verfahren, Schlüssel-Kodierung und Ergebnis-Kodierung zusammen.

Beispiele:

tHashValue # tMem->MemHMAC(_MemHashSHA256 | _MemKeyBase64 | _MemResultHex, aKeyHMAC);

tHashValue # tMem->MemHMAC(_MemHashSHA512 | _MemKeyMem | _MemResultHex, '', 1, _MemDataLen, aMemKeyHMAC);

Der Hash-Wert kann auch aus einem Teil des Memory -Objekts gebildet werden. Dazu wird die Startposition (int3) und die zu berücksichtigende Länge (int4) angegeben. Wird eine ungültigen Startposition (int3) oder eine zu große Länge (int4) angegeben, wird ein Laufzeitfehler erzeugt.

Mögliche Laufzeitfehler:

  • _ErrHdlInvalid: Der übergeben Deskriptor (obj) oder (handle5) 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 (int3) oder die Länge des Bereiches (int4) ist zu groß.