Maison > développement back-end > tutoriel php > Comment `password_hash()` et `password_verify()` de PHP 5.5 peuvent-ils stocker et vérifier en toute sécurité les mots de passe des utilisateurs ?

Comment `password_hash()` et `password_verify()` de PHP 5.5 peuvent-ils stocker et vérifier en toute sécurité les mots de passe des utilisateurs ?

Susan Sarandon
Libérer: 2024-12-23 04:00:14
original
281 Les gens l'ont consulté

How Can PHP 5.5's `password_hash()` and `password_verify()` Securely Store and Verify User Passwords?

Stockage et vérification des mots de passe avec PHP 5.5

Lors de la sécurisation des mots de passe des utilisateurs, il est essentiel d'utiliser des techniques de cryptage robustes pour empêcher tout accès non autorisé. PHP 5.5 a introduit les fonctions password_hash() et password_verify() à cet effet, offrant une solution pratique et sécurisée pour la gestion des mots de passe.

Stockage correct du mot de passe

Le code fourni démontre une approche incorrecte du stockage des mots de passe. Vous ne devez pas stocker le sel séparément, mais plutôt stocker à la fois le hasch et le sel. La fonction password_hash() génère une chaîne qui intègre les deux éléments.

La bonne façon de stocker le mot de passe est :

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into the database
Copier après la connexion

Vérification du mot de passe

Pour vérifier le mot de passe, récupérez le $hashAndSalt précédemment stocké dans la base de données et utilisez-le avec password_verify() function :

if (password_verify($password, $hashAndSalt)) {
    // Verified
}
Copier après la connexion

Considérations de sécurité supplémentaires

Bien que la fonction password_hash() fournisse un mécanisme de stockage sécurisé des mots de passe, il est important de respecter d'autres bonnes pratiques de sécurité. Pensez à utiliser :

  • extension mysqli au lieu de mysql (obsolète en PHP5.5)
  • Validation des entrées pour empêcher l'injection SQL

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:php.cn
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