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 ?
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!