Как долго длится хэш SHA256?


Я собираюсь бежать SHA256 на пароль + соль, но я не знаю, как долго, чтобы мои VARCHAR при настройке базы данных MySQL. Что такое хорошая длина?

5 185

5 ответов:

sha256 имеет длину 256 бит - как указывает его имя.

если вы используете шестнадцатеричное представление, каждая цифра кодирует 4 бита ; поэтому вам нужно 64 цифры для представления 256 бит - так, вам нужно varchar(64) или char(64), так как длина всегда одна и та же, не меняется вообще.

и демо :

$hash = hash('sha256', 'hello, world!');
var_dump($hash);

даст вам :

$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"

т. е. строка с 64 символами.

параметры кодирования для 256 бит SHA256:

  1. Base64: 6 бит на символ = CHAR(44) в том числе обивка символов
  2. Hex: 4 бит на символ = CHAR(64)
  3. двоичный: 8 бит на байт = BINARY(32)

Почему ты сделал это ВАРЧАР? Она не меняется. Это всегда 64 символа, которые можно определить, запустив что-либо в один из онлайн калькуляторов SHA-256.

Я предпочитаю использовать BINARY (32), так как это оптимизированный способ!

вы можете разместить в этом 32 шестнадцатеричные цифры от (00 до FF).

поэтому двоичный(32)!

будет исправлено 64 символа, поэтому используйте char(64)