Каков правильный формат соли для раздува с использованием крипты PHP?

Я прочитал информацию, представленную наPHP Ручной ввод дляcrypt(), но я все еще неуверен в формате соли для запуска алгоритма Blowfish.

В соответствии с ручным вводом, я должен использовать «$ 2 $» или «$ 2a $» как начало строки из 16 символов. Однако в приведенном ниже примере они используют гораздо более длинную строку: '$2a$07$usesomesillystringforsalt$', который указывает мне, что любая строка, которую я предоставляю, будет нарезана и нарезана кубиками, чтобы соответствовать модели.

Проблема, с которой я сталкиваюсь, на самом деле вызывает алгоритм Blowfish противSTD_DES, Пример:

$foo = 'foo';
$salt = '$2a

Этот хэш, очевидно, не является джакузи, а на самом делеSTD_DES только первые два символа соли используются для соли. Однако в примере с руководством по PHP их соль начинается с '$2a$07$', поэтому, если я добавлю эти три символа в один и тот же код, я получу следующее:

$foo = 'foo';
$salt = '$2a

Я заметил, что могу представить некоторую разницу в символах, которые здесь показаны как '07$', например04$ а также15$ оба работают, но01$ через03$ не работают (генерирует пустую строку), и такие значения, как99$ а также85$ заставить его вернуться кSTD_DES снова.

Вопрос:

Каково значение этих трех символов после$2a$'строка, которая, как я полагаю в руководстве, инструктирует функцию crypt использовать метод blowfish.

Согласно инструкции,$2a$должно быть достаточно, чтобы проинструктироватьcrypt() использовать метод blowfish; в чем же значение следующих трех символов? Что же тогда является правильным форматом для соли, если эти три символа настолько значимы?

. hash('whirlpool', $foo); // 128 characters, will be truncated $hash = crypt($foo, $salt); // $hash = $26HdMTpoODt6

Этот хэш, очевидно, не является джакузи, а на самом делеSTD_DES только первые два символа соли используются для соли. Однако в примере с руководством по PHP их соль начинается с '$2a$07$', поэтому, если я добавлю эти три символа в один и тот же код, я получу следующее:

$foo = 'foo';
$salt = '$2a$' . hash('whirlpool', $foo); // 128 characters, will be truncated
$hash = crypt($foo, $salt); 
// $hash = $2a$07$b1b2ee48991281a439da2OHi1vZF8Z2zIA.8njYZKR.9iBehxLoIC

Я заметил, что могу представить некоторую разницу в символах, которые здесь показаны как '07$', например04$ а также15$ оба работают, но01$ через03$ не работают (генерирует пустую строку), и такие значения, как99$ а также85$ заставить его вернуться кSTD_DES снова.

Вопрос:

Каково значение этих трех символов после$2a$'строка, которая, как я полагаю в руководстве, инструктирует функцию crypt использовать метод blowfish.

Согласно инструкции,$2a$должно быть достаточно, чтобы проинструктироватьcrypt() использовать метод blowfish; в чем же значение следующих трех символов? Что же тогда является правильным форматом для соли, если эти три символа настолько значимы?

. hash('whirlpool', $foo); // 128 characters, will be truncated $hash = crypt($foo, $salt); // $hash = $2a$07$b1b2ee48991281a439da2OHi1vZF8Z2zIA.8njYZKR.9iBehxLoIC

Я заметил, что могу представить некоторую разницу в символах, которые здесь показаны как '07$', например04$ а также15$ оба работают, но01$ через03$ не работают (генерирует пустую строку), и такие значения, как99$ а также85$ заставить его вернуться кSTD_DES снова.

Вопрос:

Каково значение этих трех символов после$2a$'строка, которая, как я полагаю в руководстве, инструктирует функцию crypt использовать метод blowfish.

Согласно инструкции,$2a$должно быть достаточно, чтобы проинструктироватьcrypt() использовать метод blowfish; в чем же значение следующих трех символов? Что же тогда является правильным форматом для соли, если эти три символа настолько значимы?

. hash('whirlpool', $foo); // 128 characters, will be truncated $hash = crypt($foo, $salt); // $hash = $26HdMTpoODt6

Этот хэш, очевидно, не является джакузи, а на самом делеSTD_DES только первые два символа соли используются для соли. Однако в примере с руководством по PHP их соль начинается с '$2a$07$', поэтому, если я добавлю эти три символа в один и тот же код, я получу следующее:

$foo = 'foo';
$salt = '$2a$' . hash('whirlpool', $foo); // 128 characters, will be truncated
$hash = crypt($foo, $salt); 
// $hash = $2a$07$b1b2ee48991281a439da2OHi1vZF8Z2zIA.8njYZKR.9iBehxLoIC

Я заметил, что могу представить некоторую разницу в символах, которые здесь показаны как '07$', например04$ а также15$ оба работают, но01$ через03$ не работают (генерирует пустую строку), и такие значения, как99$ а также85$ заставить его вернуться кSTD_DES снова.

Вопрос:

Каково значение этих трех символов после$2a$'строка, которая, как я полагаю в руководстве, инструктирует функцию crypt использовать метод blowfish.

Согласно инструкции,$2a$должно быть достаточно, чтобы проинструктироватьcrypt() использовать метод blowfish; в чем же значение следующих трех символов? Что же тогда является правильным форматом для соли, если эти три символа настолько значимы?

Ответы на вопрос(1)

Ваш ответ на вопрос