Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
Generate password hash

Generate password hash 


 

Generate password hash ( motDePasse {; options} ) -> Résultat 
Paramètre Type   Description
motDePasse  Chaîne in Mot de passe utilisateur (seuls les 72 premiers caractères sont utilisés)
options  Objet in Objet contenant des options
Résultat  Chaîne in Hash du mot de passe

La commande Generate password hash retourne un hash de motDePasse, généré par un algorithme de hachage cryptographique.

Passez une chaîne dans le paramètre motDePasse. La commande Generate password hash retourne un hash, aussi appelé empreinte cryptographique, de ce mot de passe. Une empreinte cryptographique différente est générée à chaque appel de la commande avec le même mot de passe. Vous devrez utiliser la commande Verify password hash pour contrôler cette empreinte.

Dans l'objet options, passez les propriétés à utiliser lors de la génération de l'empreinte du mot de passe. Les valeurs possibles sont listées dans ce tableau :

PropriétéType de valeurDescriptionValeur par défaut
algorithmchaîneAlgorithme à utiliser. Actuellement, seul "bcrypt" (en minuscules) est pris en charge.bcrypt
costnumériqueVitesse de hachage. L'algorithme bcrypt prend en charge les valeurs situées entre 4 et 31.10

Note : Si l'une des valeurs de l'objet options est invalide, une erreur est générée et la commande retourne une chaîne vide.

Les erreurs suivantes peuvent être retournées. Vous pouvez récupérer et analyser les erreurs à l'aide des commandes GET LAST ERROR STACK et ON ERR CALL.
 

NuméroMessage
850Password-hash: Algorithme inconnu.
852Password-hash: bcrypt admet un coût qui va de 4 à 31 inclus, le paramètre est hors limite.

bcrypt est une fonction de hachage de mot de passe basée sur l'algorithme de chiffrement Blowfish. Elle incorpore un salage protégeant contre les attaques par "rainbow table" et est adaptative : il est possible d'augmenter le nombre d'itérations afin de la rendre plus lente et donc plus résistante aux attaques par force brute.

Exemple  

Cet exemple génère un hash de mot de passe à l'aide de bcrypt avec un coût de facteur 4.

 C_TEXT($password)
 C_TEXT($hash)
 C_OBJECT($options)
 
 $options:=New object("algorithm";"bcrypt";"cost";4)
 $password:=Request("Veuillez entrer votre mot de passe")
 
 $hash:=Generate password hash($password;$options)
 [Users]hash:=$hash
 SAVE RECORD([Users])

Rappel : Un hash différent est généré à chaque appel de la commande avec le même mot de passe. Ce fonctionnement est standard pour les algorithmes tels que bcrypt, puisque les bonnes pratiques consistent à créer un nouveau salage aléatoire pour chaque hash. Reportez-vous à la description de la commande Verify password hash pour un exemple de vérification des mots de passe.



Voir aussi  

4D Security guide
Generate digest
Verify password hash

 
PROPRIÉTÉS 

Produit : 4D
Thème : Outils
Numéro : 1533

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v16 R5

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)