C
Chigusa Tools
🔑 Hash

bcrypt

password_hash / password_verify

bcrypt password hashing and verification.

Comment utiliser

Vue d'ensemble

Outil pour générer des hachages avec bcrypt ou vérifier des chaînes de hachage.

💡
La conversion est traitée côté serveur, mais aucune donnée n'est stockée.

Un cas d'utilisation courant du hachage est le "stockage des mots de passe".

En principe fondamental, il est impossible d'inverser un hachage pour obtenir les données originales (unidirectionnel).
Il est impossible d'obtenir le mot de passe original à partir de son hachage bcrypt.
C'est pourquoi les mots de passe ne sont pas stockés directement — à la place, le hachage est généralement stocké.

💡
Selon la force du hachage, une attaque par force brute pourrait être possible, mais une explication détaillée est omise ici.

Le même mot de passe générera toujours le même hachage.
Cela signifie que vous pouvez vérifier une chaîne en la comparant avec un hachage connu.
(Par exemple, pour vérifier si un hachage a été généré à partir d'un mot de passe donné)

Génération de hachage (password_hash)

Le hachage bcrypt est effectué avec un code comme le suivant.
$hash = password_hash('string_to_hash', PASSWORD_BCRYPT, [
    'cost' => 'cost',
]);

Les hachages générés par bcrypt incluent un salt (chaîne aléatoire), donc une chaîne différente est produite à chaque fois.

$2y$10$Z0kGQ04hCto9dnMu.GyzWOWNQmoKyeF5PXH.zsrf/I.yNJRcbdN86

Le coût par défaut de la fonction password_hash est 10.
Bien que password_hash accepte une plage de 4–31, cet outil le limite à 4–15 pour éviter une surcharge excessive du serveur.
(Des valeurs plus élevées peuvent prendre beaucoup de temps à traiter.)

Vérification de hachage (password_verify)

Les hachages bcrypt suivent un format spécifique qui inclut le salt et le nombre d'itérations, permettant de vérifier si un hachage a été généré à partir d'une chaîne donnée.

La vérification de hachage bcrypt est effectuée avec un code comme le suivant.
$result = password_verify('original_string', 'hash_string_to_verify');
💡
Vous pouvez facilement effectuer le hachage et la vérification bcrypt avec cet outil.