Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Generate password hash

Generate password hash 


 

Generate password hash ( Kennwort {; Optionen} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Kennwort  String in Benutzerkennwort mit maximal 72 Zeichen
Optionen  Objekt in Ein Objekt mit Optionen
Funktionsergebnis  String in 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:

EigenschaftWertetypBeschreibungStandardwert
algorithmStringAlgorithmustyp. Derzeit wird ausschließlich "bcrypt" unterstützt (Unterscheidung zwischen Groß- und Kleinschreibung).bcrypt
costnumerischKostenfaktor/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.

NummerMeldung
850Password-Hash: Nicht unterstützter Algorithmus
852Password-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.



Siehe auch 

4D Security guide
Generate digest
Verify password hash

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Werkzeuge
Nummer: 1533

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)