Я собираюсь работать SHA256
на пароле + соль, но я не знаю, сколько времени сделать мой VARCHAR
при установке базы данных MySQL. Что такое хорошая длина?
Длина sha256 составляет 256 бит - как следует из его названия.
Если вы используете шестнадцатеричное представление, каждая цифра кодирует 4 бита; поэтому вам нужно 64 цифры для представления 256 бит - таким образом, вам нужен varchar(64)
, или char(64)
, так как длина всегда одна и та же, не меняется вообще.
А демонстрация :
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
даст вам :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
т.е. строку с 64 символами.
Зачем вам делать его VARCHAR? Оно не меняется. Это всегда 64 символа, что можно определить, прогнав что угодно в одном из онлайн-калькуляторов SHA-256.