Aller au contenu principal
Version: Next

Generate password hash

Generate password hash ( motDePasse {; options} ) : Text

ParamètreTypeDescription
motDePasseTextMot de passe utilisateur (seuls les 72 premiers caractères sont utilisés)
optionsObjectObjet contenant des options
RésultatTextHash du mot de passe

Description

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.

Gestion des erreurs

Les erreurs suivantes peuvent être retournées. Vous pouvez récupérer et analyser les erreurs à l'aide des commandes Last errors 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.
A propos de bcrypt

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.

 var $password : Text
 var $hash : Text
 var $options : Object
 
 $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

Generate digest
Verify password hash