sha256 je 256 bitů dlouhý - jak naznačuje jeho název.
Protože sha256 vrací hexadecimální reprezentaci, stačí 4 bity k zakódování každého znaku (místo 8, jako u ASCII), takže 256 bitů by představovalo 64 hexadecimálních znaků, proto potřebujete varchar(64)
, nebo dokonce char(64)
, protože délka je vždy stejná a vůbec se neliší.
A demo :
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
Dá vám :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
tj. řetězec s 64 znaky.