Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Generate password hash
|
Generate password hash ( Kennwort {; Optionen} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Kennwort | String |
![]() |
Benutzerkennwort mit maximal 72 Zeichen | |||||
Optionen | Objekt |
![]() |
Ein Objekt mit Optionen | |||||
Funktionsergebnis | String |
![]() |
Gibt Kennwort-Hash zurück. | |||||
Die Funktion Generate password hash gibt ein sicheres Kennwort-Hash zurück, generiert über einen kryptographischen Hash-Algorithmus.
Im Parameter Kennwort übergeben Sie einen Stringwert. Generate password hash gibt einen Hash-String für das Kennwort zurück. Mehrfaches Übergeben des gleichen Kennworts führt zu unterschiedlichen Hash-Strings.
Im Objekt Optionen übergeben Sie die Eigenschaften, die beim Generieren des Kennwort-Hash verwendet werden sollen. Es gibt folgende Eigenschaften:
Eigenschaft | Wertetyp | Beschreibung | Standardwert |
algorithm | String | Algorithmustyp. Derzeit wird ausschließlich "bcrypt" unterstützt (Unterscheidung zwischen Groß- und Kleinschreibung). | bcrypt |
cost | numerisch | Kostenfaktor/Geschwindigkeit. Die für bcrypt unterstützten Werte liegen zwischen 4 (schnell) und 31 (sehr langsam). | 10 |
Hinweis: Ist ein Wert im Parameter Optionen ungültig, werden eine Fehlermeldung und ein leerer String zurückgegeben.
Folgende Fehler können zurückgegeben werden. Über die Befehle GET LAST ERROR STACK und ON ERR CALL können Sie einen Fehler auswerten.
Nummer | Meldung |
850 | Password-Hash: Nicht unterstützter Algorithmus |
852 | Password-Hash: "bcrypt cost parameter" nicht verfügbar, bitte geben Sie einen Wert zwischen 4 und 31 an. |
"bcrypt" ist eine Hash-Funktion für Kennwörter, die auf der Verschlüsselung Blowfish basiert. Sie integriert Salz (Salt), um gegen Attacken über eine Rainbow Table zu schützen und kann außerdem die Anzahl der Iterationen erhöhen, um sie gezielt langsamer zu machen. Auf diese Weise bleibt bcrypt selbst bei steigender Rechenleistung gegenüber brute-force Angriffen resistent, da sie bewusst langsam ist, was zuviel Zeit beansprucht und zu teuer wird.
Dieses Beispiel generiert ein Kennwort-Hash über bcrypt mit dem Kostenfaktor 4 (schnell).
C_TEXT($password)
C_TEXT($hash)
C_OBJECT($options)
$options:=New object("algorithm";"bcrypt";"cost";4)
$password:=Request("Bitte geben Sie Ihr Kennwort ein")
$hash:=Generate password hash($password;$options)
[Users]hash:=$hash
SAVE RECORD([Users])
Hinweis: Mehrfaches Übergeben des gleichen Kennworts führt zu unterschiedlichen Hash-Strings. Das ist ein Standardverhalten für Algorithmen wie bcrypt, da die beste Praxis ist, für jeden Hash ein neues zufälliges Salz zu erstellen. Unter der Funktion Verify password hash sehen Sie ein Beispiel zum Prüfen der Kennwörter.
Produkt: 4D
Thema: Werkzeuge
Nummer:
1533
Erstellt: 4D v16 R5
4D Programmiersprache ( 4D v20 R7)