Sha256 е дълъг 256 бита -- както показва името му.
Тъй като sha256 връща шестнадесетично представяне, 4 бита са достатъчни за кодиране на всеки знак (вместо 8, като за ASCII), така че 256 бита биха представлявали 64 шестнадесетични символа, следователно имате нужда от varchar(64)
или дори char(64)
, тъй като дължината е винаги една и съща, не се променя изобщо.
И демото :
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
Ще ви дам :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
т.е. низ с 64 знака.