Les meilleures pratiques pour le stockage efficace de hachages md5 dans mysql

Possible les types de champ:

BINARY(16)
CHAR(32)
BIGINT + BIGINT

Comment puis-je décider laquelle utiliser?

  • Un hachage MD5 est généralement exprimée en 32 chiffres nombre hexadécimal. CHAR(32) fonctionnent très bien.
  • Aucun. N'utilisez pas de MD5, c'est un mort de hachage. L'utilisation de SHA-2 ou au-dessus, et le magasin est une série de caractères hexadécimaux (64 caractères). Il est très agréable à lire, dans ce mode, et c'est l'approche standard.
  • im pas bon à MySql mais un hash est nomaly un tableau d'octets, de sorte BINAIRE(16) doit être le meilleur, mais il pourrait être plus difficile d'écrire du sql personnalisé à des questions Binaires si c'est nécessaire?
  • MD5 est parfaitement acceptable a pour non cryptographiques raisons(par exemple, la détection des doublons), mais ne doit pas être utilisé pour les mots de passe en raison de rainbow tables.