Lade...
 

CX_SYSTEM_OBJECT::GenerateHash

CX_SYSTEM_OBJECT::GenerateHash

196595

Beschreibung:

Diese Funktion bildet einen Hash-Wert nach spezifiziertem Algorithmus aus der übergebenen Zeichenkette. Ist kein Algorithmus angegeben (Leerstring), wird SHA1 verwendet.

Der Parameterhash wird nur nur dann benötigt, wenn der Klartext mit einem bestehenden bcrypt-Hash verglichen werden soll (siehe auch CheckHash), denn die Hashing-Parameter (Salt & Anzahl Runden) sind in dem Hash enthalten und müssen gleich gewählt werden, damit der generierte Hash auch vergleichbar ist (und für den gleichen Klartext den gleichen Hash liefert).

Unterstützte Algorithmen
SHA1
bycrypt
SHA256
228748
SHA512
228748

Siehe auch CX_USER.

Die Hashes, die von den SHA-Algorithmen zurückgegeben werden, sind ASCII-Kodierte Hex-Strings (nur Zeichen 0-9 & A-F).
Der von bcrypt zurückgegebene Hash hat einen etwas komplexeren Aufbau und der eigentliche Hash ist Base64 kodiert (jedoch mit einem nicht-standardisierten Alphabet). Alle zurückgegebenen Hashes bestehen nur aus Zeichen des druckbaren ASCII-Zeichensatzes und enthalten keine Sonderzeichen.

Code-Beispiel:
"myText" "" "bcrypt" SystemObject Call(GenerateHash) // Salt wird so für bcrypt zufällig generiert
"myText" "$2a$12$VpfUu6nek.wpNUfaz5IU7.XIIZ/2L1YHxuw35eDL.0GNqC5xLLaBq" "bcrypt" SystemObject Call(GenerateHash)
"myText" "" "SHA1" SystemObject Call(GenerateHash) // "8B67FDFA9CE9..."

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_SYSTEM_OBJECT Das System-Objekt
  Top-1 STRING Hash-Algorithmus
  Top-1 STRING Parameterhash (nur für bcrypt)
  Top-2 STRING Text
Stack(Out) Top STRING Hash-Wert
Funktionsaufruf: Call(GenerateHash)