En sha256 er 256 bit lang -- som navnet indikerer.
Da sha256 returnerer en hexadecimal repræsentation, er 4 bit nok til at kode hvert tegn (i stedet for 8, som for ASCII), så 256 bit ville repræsentere 64 hex-tegn, derfor skal du bruge en varchar(64)
, eller endda en char(64)
, da længden altid er den samme, ikke varierende overhovedet.
Og demoen :
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
Vil give dig :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
dvs. en streng med 64 tegn.