PHP 8.4.2 Released!

sodium_crypto_pwhash_scryptsalsa208sha256

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256Dérive une clé à partir d'un mot de passe, en utilisant scrypt

Description

sodium_crypto_pwhash_scryptsalsa208sha256(
    int $length,
    #[\SensitiveParameter] string $password,
    string $salt,
    int $opslimit,
    int $memlimit
): string

Ceci est le pendant scrypt de sodium_crypto_pwhash().

Une raison courante d'utiliser cette fonction est de dériver les graines pour les clés cryptographiques à partir d'un mot de passe et d'un sel, puis d'utiliser ces graines pour générer les clés réelles nécessaires à un certain usage (par exemple sodium_crypto_sign_detached()).

Liste de paramètres

length

La longueur du hachage de mot de passe à générer, en octets.

password

Le mot de passe pour lequel générer un hachage.

salt

Un sel à ajouter au mot de passe avant le hachage. Le sel doit être imprévisible, idéalement généré à partir d'une bonne source de nombres aléatoires telle que random_bytes(), et avoir une longueur d'au moins SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES octets.

opslimit

Représente une quantité maximale de calculs à effectuer. Augmenter ce nombre fera que la fonction nécessitera plus de cycles CPU pour calculer une clé. Il existe des constantes disponibles pour définir la limite d'opérations à des valeurs appropriées en fonction de l'utilisation prévue, dans l'ordre de la force : SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE et SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE.

memlimit

La quantité maximale de RAM que la fonction utilisera, en octets. Il existe des constantes pour vous aider à choisir une valeur appropriée, dans l'ordre de la taille : SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE et SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE. Typiquement, celles-ci devraient être associées aux valeurs opslimit correspondantes.

Valeurs de retour

Une chaîne d'octets de la longueur désirée.

add a note

User Contributed Notes 1 note

up
0
Anonymous
2 months ago
Function is expecting salt length to be EXACTLY SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes. It throws error if you provide longer salt string. For example: salt of 64 bytes will throw an error.
To Top