Lithe Hash : un module robuste pour le hachage sécurisé des mots de passe

Barbara Streisand
Libérer: 2024-11-06 08:07:02
original
230 Les gens l'ont consulté

Lithe Hash: Um Módulo Robusto para Hashing Seguro de Senhas

Lithe Hash est un module robuste conçu pour le hachage sécurisé des mots de passe à l'aide de l'algorithme Bcrypt. Ce module simplifie le processus de création, de vérification et de gestion des hachages de mots de passe, garantissant ainsi le respect des meilleures pratiques de sécurité.

Indice

  1. Installation
  2. Utiliser
    • Importer la classe
    • Créer un hachage
    • Vérifier un hachage
    • Vérifier si un hachage doit être rehaché
    • Comprendre Bcrypt
    • Gestion des exceptions
  3. Tests
  4. Licence

Installation

Pour installer le package lithemod/hash, vous pouvez utiliser Composer. Exécutez la commande suivante dans votre terminal :

composer require lithemod/hash
Copier après la connexion
Copier après la connexion

Cela ajoutera le package aux dépendances de votre projet, vous permettant d'utiliser la classe Hash dans votre application.

Utiliser

Importer la classe

Avant d'utiliser la classe Hash, vous devez l'importer dans votre fichier PHP :

use Lithe\Support\Security\Hash;
Copier après la connexion
Copier après la connexion

Créer un hachage

Pour créer un hachage à partir d'un mot de passe, utilisez la méthode make. La méthode accepte un mot de passe et un tableau facultatif d'options :

$hash = Hash::make('sua_senha', ['cost' => 10]);
Copier après la connexion

Paramètres :

  • string $value : Le mot de passe à hacher.
  • Tableau $options : paramètres facultatifs (par exemple, coût) pour régler l'algorithme de hachage.

Renvoie : Une chaîne de hachage qui peut être stockée dans une base de données.

Exemple :

$password = 'minha_senha_segura';
$hash = Hash::make($password, ['cost' => 12]);
echo "Senha Hashed: " . $hash;
Copier après la connexion

Vérifier un hachage

Pour vérifier si un mot de passe correspond au hachage, utilisez la méthode check:

$isValid = Hash::check('sua_senha', $hash);
if ($isValid) {
    echo 'Senha é válida!';
} else {
    echo 'Senha inválida.';
}
Copier après la connexion

Paramètres :

  • string $value : Le mot de passe à vérifier.
  • string $hash : Le mot de passe haché pour comparaison.

Renvoie : true si le mot de passe correspond au hachage ; faux sinon.

Exemple :

if (Hash::check('minha_senha_segura', $hash)) {
    echo 'Senha está correta!';
} else {
    echo 'Senha está incorreta!';
}
Copier après la connexion

Vérifier si un hachage doit être remanié

Vous pouvez déterminer si un hachage doit être rehaché (par exemple, si vous modifiez le facteur de coût) en utilisant la méthode needRehash:

$needsRehash = Hash::needsRehash($hash, ['cost' => 14]);
if ($needsRehash) {
    // Rehash com um novo custo
    $hash = Hash::make('sua_senha', ['cost' => 14]);
}
Copier après la connexion

Paramètres :

  • string $hash : Le mot de passe haché à évaluer.
  • array $options : Paramètres facultatifs pour spécifier le coût.

Renvoie : true si le hachage doit être ressassé ; faux sinon.

Exemple :

composer require lithemod/hash
Copier après la connexion
Copier après la connexion

Comprendre Bcrypt

Bcrypt est une fonction de hachage de mot de passe largement utilisée, conçue pour être lente et gourmande en calcul, ce qui la rend résistante aux attaques par force brute. En utilisant un facteur de coût configurable, Bcrypt vous permet d'augmenter la difficulté de hachage à mesure que le matériel devient plus rapide.

  • Facteur de coût : Le facteur de coût détermine la complexité informatique du hachage d'un mot de passe. Il représente le nombre d'itérations de l'algorithme de hachage. Un coût plus élevé signifie plus de sécurité, mais cela augmente également le temps de traitement. La plage recommandée est comprise entre 10 et 12 pour la plupart des applications.

Gestion des exceptions

La méthode make lève une InvalidArgumentException si le coût est défini en dehors de la plage valide (4 à 31). Vous devez gérer cela dans votre code pour garantir la robustesse :

use Lithe\Support\Security\Hash;
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!