Aller au contenu

$hash.verifyPassword

Description

Contrôle que le mot de passe indiqué correspond au hash généré à l'aide de l'algorithme Argon2.

La méthode calcule le hash du mot de passe donné en paramètre et vérifie que ce hash correspond au hash de référence (paramètre ou option hash). La méthode supporte le passage des paramètres d'encodage via un map d'options, mais également via une chaîne de caractères au format PCH (voir option pch de la méthode $hash.encodePassword pour générer une sortie dans ce format).

Syntaxes

$hash.verifyPassword( password, hash , [ , options ] )

La méthode a une seconde syntaxe dans laquelle le hash est passé dans les options. Cette variante permet de passer la valeur de retour de $hash.encodePassword comme options:

$hash.verifyPassword( password, options )

Paramètres

password any
Mot de passe à tester
hash any

Hash ou PCH

Ce paramètre est intermprété comme un PCH s'il débute avec un $. Dans ce cas, la méthode s'attend à trouver les paramètres d'encodage dans la valeur de la chaîne de caractères PCH. Les options sont alors ignorées.

Si le premier caractère est différent de $, la méthode considère que le paramètre est le hash du mot de passe de référence.

options map

Options de vérification du mot de passe. Les options doivent correspondre à celles utilisées pour l'encodage.

hash string
Hash du mot de passe de référence
salt string

Sel utilisé pour l'encodage, tel que fourni dans la réponse de $hash.encodePassword.

La méthode s'attend à trouver un sel encodé en base64, tel que fourni dans la réponse de $hash.encodePassword ou tel que présent dans la valeur PCH.

type int
Type d'encodage. Ici la valeur attendue est un entier qui correspond à la valeur de la propriété type de la réponse de la méthode $hash.encodePassword.
version int
Version de l'algorithme. Ici la valeur attendue est un entier qui correspond à la valeur de la propriété version de la réponse de la méthode $hash.encodePassword.
hashLength number

Longueur du hash, en bytes

La valeur par défaut est: 32

parallelism number

Nombre de cores à utiliser pour le traitement

La valeur par défaut est: 1

memory number

Quantité de mémoire imposée pour le traitement en KB

La valeur par défaut est: 16384

iterations number

Nombre d'itérations

La valeur par défaut est: 2

charset string

Charset à utiliser

La valeur par défaut est: "UTF-8"

format string

Format du hash fourni en entrée (BASE64, HEX)

La valeur par défaut est: BASE64

Retour

Valeur true si le mot de passe et le hash correspondent, sinon false

Exemple

Voir $hash.encodePassword