Maison > développement back-end > tutoriel php > Dois-je stocker le sel séparément lors de l'utilisation de « password_hash() » de PHP ?

Dois-je stocker le sel séparément lors de l'utilisation de « password_hash() » de PHP ?

Barbara Streisand
Libérer: 2024-12-29 06:23:10
original
945 Les gens l'ont consulté

Should I Store the Salt Separately When Using PHP's `password_hash()`?

Utilisation des fonctions password_hash et password_verify de PHP 5.5 pour un stockage sécurisé des mots de passe

Question :

Lorsque vous utilisez la fonction password_hash() de PHP 5.5 pour stocker les mots de passe des utilisateurs, le sel doit-il être stocké séparément du hachage ?

Réponse :

Non, stocker le sel séparément du hachage est incorrect. La fonction password_hash() génère une chaîne qui contient à la fois le hachage et le sel. Voici la bonne façon de l'utiliser :

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

Pour vérifier le mot de passe :

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

Cette approche offre une sécurité optimale car elle empêche les attaquants d'accéder au sel et de compromettre le hachage. De plus, il est recommandé d'utiliser mysqli au lieu de ext/mysql, qui est obsolète dans PHP 5.5, et d'être conscient des vulnérabilités d'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!

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