Un sha256 tiene una longitud de 256 bits, como su nombre lo indica.
Dado que sha256 devuelve una representación hexadecimal, 4 bits son suficientes para codificar cada carácter (en lugar de 8, como en ASCII), por lo que 256 bits representarían 64 caracteres hexadecimales, por lo que necesita un varchar(64)
, o incluso un char(64)
, ya que la longitud es siempre la misma, sin variar en absoluto.
Y la demostración:
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
Te dará:
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
es decir, una cadena con 64 caracteres.