Quelle est la durée de hachage SHA256?
Je vais courir SHA256
sur un mot de passe + le sel, mais je ne sais pas combien de temps pour faire mon VARCHAR
lors de la configuration de la base de données MySQL. Ce qui est d'une bonne longueur?
- Avant tout le monde la lecture de ce décide de suivre ce conseil et de l'utilisation
SHA-*
de hachage des mots de passe, VEUILLEZ d'abord lire ceci.
Vous devez vous connecter pour publier un commentaire.
Un sha256 est de 256 bits -- comme son nom l'indique.
Si vous utilisez une représentation hexadécimale, chaque chiffre des codes pour les 4 bits ; si vous avez besoin de 64 chiffres pour représenter 256 bits -- donc, vous avez besoin d'un
varchar(64)
, ou unchar(64)
, que la longueur est toujours le même, ne varie pas du tout.Et la démo :
Vous donnera :
c'est à dire une chaîne de 64 caractères.
varchar(65)
pour l'un des principaux!
... juste pour dire.SELECT length(to_base64(unhex(sha2('say hello to my little friend',256))))
, il est toujours 44 quelle que soit la longueur de la chaîne d'origine est.Options de codage pour SHA256 de 256 bits:
CHAR(44)
y compris rembourrage personnageCHAR(64)
BINARY(32)
=
peut être supprimé et ré-ajoutée.Je préfère utiliser les BINAIRES(32) étant donné que c'est le moyen optimisé!
Vous pouvez placer dans 32 chiffres hexadécimaux de (00 à FF).
Donc BINAIRE(32)!
UPDATE...SET hash_column=UNHEX(sha256HexString)
. Puis, lors de la récupération, vousSELECT HEX(hash_column) AS hash_column
.Pourquoi voudriez-vous faire VARCHAR? Il ne varie pas. Il est toujours à 64 caractères, ce qui peut être déterminé par l'exécution de quoi que ce soit dans un des en ligne SHA-256 calculatrices.
Il sera fixe de 64 caractères, afin de l'utiliser
char(64)
CHARACTER SET ascii
.