Bycript / Blowfish и Salts с существующей системой auth

Я пытаюсь перейти на Blowfish для системы аутентификации. Потерпите меня, я не криптограф, и мое понимание Blowfish еще не совсем там.

Текущая настройка использует sha1 и соли. Соли генерируются для каждого пользователя и сохраняются в базе данных. Это сводится к следующему:

$salt = $this->getSalt($username); $hash = sha1($password . $salt); if ($hash == $hashInDB) { // user is authenticated, set session id etc ... } 

Метод getSalt() получает соль, сохраненную в базе данных для указанного пользователя.

Теперь, если я все правильно понимаю, с склепом я должен делать:

 $salt = '$2a$07$' . $this->getSalt($username) . '$'; $hash = crypt($password, $salt); if ($hash == crypt($password, $saltInDB)) { // The user is authenticated, set session id etc.. } 

Чтобы уточнить, для второго примера переменная $saltInDB является значением, как “ $ 2a $ 07 $ arandomsaltcreatedatregistration $ '.

  • Правильно ли я это делаю?