8 votes

Stockage des hachages SHA-512 dans MySQL

Je me demandais si j'utilisais la fonction hash() de PHP pour générer des hachages sha512, à quoi ressemblerait le champ de ma table MySQL pour être capable de contenir le mot de passe haché.

Voici la disposition actuelle de mon champ de mot de passe MySQL

char(40)

19voto

Pascal MARTIN Points 195780

Un hachage sha512 est représenté comme un Chaîne de 128 caractères .

Par exemple, la partie suivante du code :

$sha512 = hash('sha512', "Hello, World!");
echo strlen($sha512);

Donne ce résultat :

128

Ce qui signifie que votre char(40) est bien trop petite, et que vous devriez utiliser une char(128) .

Une autre solution consisterait à le stocker sous forme binaire, et non sous forme de chaîne de caractères - ce qui signifierait 64 octets.

Mais notez qu'il pourrait être plus difficile de traiter avec cette représentation, dans certains cas, je suppose.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X