Сколько бит использует CRYPT_BLOWFISH?

Я использую функцию password_hash в PHP для хэширования паролей пользователей перед их сохранением. в базе данных.

Я использую алгоритм по умолчанию (например, CRYPT_BLOWFISH) для хеширования паролей. Для значения стоимости я использую 12 вместо 10. Но есть одна вещь, в которой я не уверен, это длина зашифрованного пароля в битах. это 64, 128, 256 бит?

Кроме того, увеличивает ли значение стоимости длину бита?

Спасибо


person Jaylen    schedule 06.08.2014    source источник
comment
Кажется, вы могли бы проверить это довольно легко. Но вот вики, которая объясняет это довольно хорошо: en.wikipedia.org/wiki/Blowfish_( шифр)   -  person vesuvious    schedule 07.08.2014
comment
Мне до сих пор не ясно, сколькими битами он шифрует. Как бы я это проверил?   -  person Jaylen    schedule 07.08.2014
comment
Я не знаком с криптографией, но документация (php.net/manual/ en/function.password-hash.php) говорит, что результатом всегда будет строка из 60 символов. не означает ли это, что зашифрованный пароль будет состоять из 480 бит?   -  person kennypu    schedule 07.08.2014


Ответы (1)


Реализация PHP BCrypt будет генерировать строки в кодировке base64 длиной 60 символов. Эта строка содержит все параметры, такие как соль и коэффициент стоимости.

Если ваш вопрос касается максимального количества символов, используемых для генерации пароля, существует ограничение в 72 символа. Это означает, что вы можете хэшировать пароли любой длины, но для вычисления используются только первые 72 символа (см. Как хэшировать длинные пароли.. .).

person martinstoeckli    schedule 07.08.2014
comment
Я знаю, что длина пароля 72. Мой вопрос в том, что такое длина хеширования. Например, функция md5 создает 128-битное (16-байтовое) хеш-значение, обычно выражаемое в текстовом формате в виде 32-значного шестнадцатеричного числа. - person Jaylen; 07.08.2014
comment
@Mike - Фактическая длина хэша составляет 192 бита, закодированного в 31 (базовый 64) символ. Но в отличие от хэша MD5, длина хэша BCrypt сама по себе не имеет смысла, потому что вам нужна дополнительная информация, фактор стоимости и соль. - person martinstoeckli; 07.08.2014