Maison >base de données >tutoriel mysql >Quel type et quelle longueur de colonne dois-je utiliser pour stocker les mots de passe hachés Bcrypt ?

Quel type et quelle longueur de colonne dois-je utiliser pour stocker les mots de passe hachés Bcrypt ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-13 09:38:10391parcourir

What Column Type and Length Should I Use for Storing Bcrypt Hashed Passwords?

Stockage des mots de passe hachés Bcrypt : considérations sur le type et la longueur des colonnes

Lors du stockage des mots de passe hachés Bcrypt dans une base de données, il est crucial de choisir une colonne appropriée type et longueur pour garantir l'intégrité et la sécurité des données.

Colonne Tapez

Pour les mots de passe hachés par bcrypt, le type de colonne BINARY(60) ou CHAR(60) BINARY est recommandé pour garantir un stockage correct du mot de passe haché. valeurs. En effet, Bcrypt produit des hachages de longueur fixe comprenant généralement 60 octets.

Longueur de hachage

Les hachages Bcrypt sont « étirés », ce qui nécessite un travail de calcul important pour leur génération. Par conséquent, les hachages Bcrypt ont toujours la même longueur. La sortie salée et hachée combinée forme une valeur codée en base 64 de 53 caractères, ce qui donne une longueur de hachage de 60 octets.

Justification

L'algorithme Bcrypt utilise un sel de 128 bits et un hachage de 186 bits, qui sont encodé en base 64 pour créer une longueur totale de 53 caractères. L'ajout de l'identifiant initial ("$2a$"), du paramètre de coût (généralement 2 chiffres) et du délimiteur final ("$") donne une longueur totale de 60 octets.

Par conséquent , lors du stockage de mots de passe hachés Bcrypt dans une base de données, il est essentiel d'utiliser un type de colonne pouvant accepter la longueur fixe de 60 octets. Cela garantit un stockage et un traitement précis des mots de passe hachés, préservant ainsi l'intégrité et la sécurité des 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!

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