Uno sha256 è lungo 256 bit, come indica il nome.
Poiché sha256 restituisce una rappresentazione esadecimale, sono sufficienti 4 bit per codificare ogni carattere (anziché 8, come per ASCII), quindi 256 bit rappresenterebbero 64 caratteri esadecimali, quindi è necessario un varchar(64)
o anche un char(64)
, in quanto la lunghezza è sempre la stessa, non varia affatto.
E la demo :
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
Ti darò :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
ovvero una stringa di 64 caratteri.