Maison >base de données >tutoriel mysql >Quels sont le meilleur type et la meilleure longueur de données pour stocker les mots de passe hachés ?
Le meilleur type et la meilleure longueur de données pour les mots de passe hachés
Dans la conception de bases de données, la sélection du type de données approprié pour stocker les mots de passe hachés est cruciale. Les fonctions de hachage, qui sont des fonctions mathématiques unidirectionnelles, produisent une sortie de longueur fixe quelle que soit la longueur d'entrée. Par conséquent, le choix du type de données dépend de l'algorithme de hachage spécifique utilisé.
Algorithme de hachage et type de données recommandés
Pour une protection par mot de passe moderne, il est fortement recommandé d'utiliser la clé -renforcement des algorithmes de hachage comme Bcrypt ou Argon2i. Ces algorithmes intègrent des sels et d'autres techniques pour améliorer la sécurité contre les attaques par force brute.
En PHP, par exemple, vous pouvez utiliser la fonction password_hash(), qui utilise Bcrypt par défaut. Le résultat est une chaîne de 60 caractères, qui peut être stockée dans un type de données CHAR(60).
$hash = password_hash("password", PASSWORD_DEFAULT);
Autres algorithmes de hachage et types de données correspondants
Même si les algorithmes de hachage renforçant les clés sont optimaux pour le stockage des mots de passe, d’autres fonctions de hachage trouvent encore des applications dans divers contextes. Voici quelques algorithmes couramment utilisés et leurs types de données correspondants :
Considérations supplémentaires
Le choix du type de données dépend également du système de base de données utilisé et des éventuelles contraintes d'espace. Les types de données binaires consomment généralement moins d'espace de stockage que les types de données caractères, mais la compatibilité avec UNHEX() et d'autres fonctions de manipulation de chaînes varie selon les bases de données.
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!