Maison >base de données >tutoriel mysql >Comment puis-je utiliser correctement `password_hash()` et `password_verify()` de PHP 5.5 pour le stockage sécurisé des mots de passe ?

Comment puis-je utiliser correctement `password_hash()` et `password_verify()` de PHP 5.5 pour le stockage sécurisé des mots de passe ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-12 11:25:14461parcourir

How Can I Correctly Use PHP 5.5's `password_hash()` and `password_verify()` for Secure Password Storage?

L'utilisation de password_hash() et password_verify() de PHP 5.5 fonctionne correctement

Bien que le stockage des mots de passe en toute sécurité soit crucial, la méthode que vous proposez utilisant password_hash() de PHP 5.5 La fonction est incorrecte.

password_hash() renvoie une chaîne hachée qui inclut à la fois le hachage et le sel. Il n'est pas recommandé de conserver le sel et le hasch séparément. Au lieu de cela, stockez le hachage renvoyé directement dans la base de données.

Pour vérifier le mot de passe, récupérez le hachage et le sel de la base de données et utilisez password_verify() comme suit :

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Store $hashAndSalt in the database

// Verification
if (password_verify($password, $hashAndSalt)) {
    // Verified
}

De plus, Tenez compte de la nature obsolète de ext/mysql et des vulnérabilités de sécurité potentielles dans les instructions de votre base de données. Il est conseillé d'utiliser mysqli ou PDO et de vous protéger contre les attaques par injection SQL en suivant les conseils de la documentation PHP.

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!

Déclaration:
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