Aller au contenu principal
Version: Next

Verify password hash

Verify password hash ( motDePasse ; hash ) -> Résultat

ParamètreTypeDescription
motDePasseChaîne🡒Mot de passe utilisateur (seuls les 72 premiers caractères sont utilisés)
hashChaîne🡒Hash du mot de passe
RésultatBooléen🡐Vrai si motDePasse et hash correspondent, Faux sinon

Description

La fonction Verify password hash vérifie que l'empreinte cryptographique hash correspond bien au motDePasse.

Cette fonction compare motDePasse à un hash généré par la commande Generate password hash.

Gestion des erreurs

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
851Password-hash: Echec lors des vérifications de cohérence

Rappel : Seul l'algorithme bcrypt est pris en charge. Si votre hash n'as pas été généré à l'aide du bcrypt, une erreur est retournée.

Exemple

Cet exemple compare un hash de mot de passe créé par la commande Generate password hash et stocké dans la table [Users] avec un mot de passe qui vient d'être saisi :

 var $password : Text
 $password:=Request("Veuillez saisir votre mot de passe.")
 
 If(Verify password hash($password;[Users]hash))
    ALERT("Mot de passe correct")
 Else
    ALERT("Mot de passe invalide")
 End if

Note : Le mot de passe n'est jamais stocké sur disque, seule son empreinte cryptographique est conservée. Lors de l'utilisation d'une application 4D distante, il est possible de générer le hash côté client. Si vous utilisez une application cliente JavaScript (ou similaire), les bonnes pratiques en matière de sécurité recommandent que le hash soit créé côté serveur. Bien entendu, dans ce cas par sécurité vous devez utiliser une connexion réseau cryptée avec TLS car le mot de passe est alors transféré par le réseau.

Voir aussi

Generate password hash