Maison > base de données > tutoriel mysql > Quels types et longueurs de colonnes de base de données sont les meilleurs pour stocker les mots de passe hachés Bcrypt ?

Quels types et longueurs de colonnes de base de données sont les meilleurs pour stocker les mots de passe hachés Bcrypt ?

Mary-Kate Olsen
Libérer: 2024-12-19 16:27:10
original
364 Les gens l'ont consulté

What Database Column Type and Length Are Best for Storing Bcrypt Hashed Passwords?

Détermination des exigences de colonne de base de données pour les mots de passe hachés Bcrypt

Le stockage des mots de passe hachés Bcrypt dans une base de données nécessite un examen attentif du type et de la longueur de la colonne. Bcrypt, un algorithme de hachage de mot de passe populaire, génère des séquences de caractères de longueur fixe lors du hachage de mots de passe.

Longueur de hachage du mot de passe dans Bcrypt

Bcrypt produit toujours des mots de passe hachés de la même longueur . Comme l'a découvert l'utilisateur à travers des exemples, Bcrypt génère généralement des hachages de 60 caractères sous la forme d'une chaîne. Cela signifie que la colonne de base de données utilisée pour stocker le mot de passe haché doit avoir une longueur suffisante pour s'adapter à cette taille fixe.

Type de colonne de base de données

Le type de colonne utilisé pour stocker Bcrypt les hachages doivent être capables de contenir des séquences de caractères. Dans MySQL, les types appropriés incluent CHAR(60) BINARY ou BINARY(60). CHAR fournit des chaînes de longueur fixe, adaptées au stockage de données de caractères de taille spécifique. BINARY indique que les données sont binaires, garantissant qu'elles sont traitées comme des données brutes et non interprétées par la base de données.

Considérations supplémentaires

  • Considérations relatives au chiffrement : Il est important de noter que les hachages Bcrypt ne sont pas cryptés mais plutôt hachés unidirectionnellement. Cela garantit que même si la base de données est compromise, les mots de passe d'origine ne peuvent pas être récupérés à partir des hachages.
  • Efficacité du stockage : CHAR(n) alloue exactement n octets pour chaque valeur de colonne, quelle que soit la valeur. si les données stockées sont plus courtes. Si la plupart des hachages stockés comportent moins de 60 caractères, l'utilisation d'un type tel que VARCHAR(n) peut être plus efficace en termes d'espace.
  • Contraintes de la base de données : Selon le système de base de données utilisé, des des contraintes peuvent être imposées pour garantir l'intégrité et la cohérence des données, telles que des contraintes d'unicité pour éviter les hachages en double.

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