sodium_crypto_pwhash_str
(PHP 7 >= 7.2.0)
sodium_crypto_pwhash_str — Get an ASCII-encoded hash
Description
$password
, int $opslimit
, int $memlimit
) : stringUses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, and memory and CPU limits to generate an ASCII-encoded hash suitable for password storage.
Liste de paramètres
-
password
-
string; The password to generate a hash for.
-
opslimit
-
Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are constants available to set the operations limit to appropriate values depending on intended use, in order of strength:
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE
,SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE
andSODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE
. -
memlimit
-
The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size:
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
,SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE
, andSODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE
. Typically these should be paired with the matching opslimit values.
Valeurs de retour
Returns the hashed password, ou FALSE
si une erreur survient.
In order to produce the same password hash from the same password, the same values for opslimit
and memlimit
must be used. These are embedded within the generated hash, so
everything that's needed to verify the hash is included. This allows
the sodium_crypto_pwhash_str_verify() function to verify the hash without
needing separate storage for the other parameters.
Notes
Note:
Hashes are calculated using the Argon2ID algorithm, providing resistance to both GPU and side-channel attacks. In contrast to the password_hash() function, there is no salt parameter (a salt is generated automatically), and the
opslimit
andmemlimit
parameters are not optional.
Exemples
Exemple #1 password_hash() example
<?php
$password = 'password';
echo sodium_crypto_pwhash_str(
$password,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);
L'exemple ci-dessus va afficher quelque chose de similaire à :
$argon2id$v=19$m=65536,t=2,p=1$oWIfdaXwWwhVmovOBc2NAQ$EbsZ+JnZyyavkafS0hoc4HdaOB0ILWZESAZ7kVGa+Iw
Voir aussi
- sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash
- sodium_crypto_pwhash() - Derive a key from a password
- password_hash() - Crée une clé de hachage pour un mot de passe
- password_verify() - Vérifie qu'un mot de passe correspond à un hachage
- » Libsodium Argon2 docs
Version en cache
28/11/2024 19:47:09 Cette version de la page est en cache (à la date du 28/11/2024 19:47:09) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-sodium-crypto-pwhash-str.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.