Во-первых, я вижу, что для использования CRYPT_BLOWFISH мне нужно использовать 16-символьную соль, начиная с $ 2a $. Однако в документации php.net для crypt () говорится, что некоторые системы не поддерживают CRYPT_BLOWFISH. Как часто это бывает?
Далее, из их примера на документах, я вижу, что я использую crypt () следующим образом:
<?php
$password = crypt('mypassword'); // let the salt be automatically generated
/* You should pass the entire results of crypt() as the salt for comparing a
password, to avoid problems when different hashing algorithms are used. (As
it says above, standard DES-based password hashing uses a 2-character salt,
but MD5-based hashing uses 12.) */
if (crypt($user_input, $password) == $password) {
echo "Password verified!";
}
?>
Чтобы использовать CRYPT_BLOWFISH, единственное, что мне нужно изменить, это первая строка, чтобы это было так;
crypt('mypassword', '$2a$07$usesomesillystringforsalt$')
а потом остальные строки в порядке как есть?