Смена пароля с помощью CakePHP и blowfish

Я пытаюсь настроить форму, чтобы позволить пользователю изменить свой пароль с помощью CakePHP 2.3. Используемый алгоритм - blowfish. У меня есть следующие три поля:

Form->input('old_password', array('type' => 'password', 'autocomplete' => 'off')); ?>
Form->input('new_password', array('type' => 'password', 'autocomplete' => 'off')); ?>
Form->input('new_password_confirm', array('type' => 'password', 'autocomplete' => 'off', 'label' => 'Confirm Password')); ?>

Вот код, где яя пытаюсь убедиться, что они ввели свой старый пароль правильно:

$hash = Security::hash($this->request->data['User']['old_password'], 'blowfish');
$correct = $this->User->find('first', array(
    'conditions' => array(
        'User.id' => AuthComponent::user('id'),
        'User.password' => $hash
    ),
    'fields' => array('id')
));

Проблема в том, что, хотя я правильно ввожу старый пароль, Cake никогда не находит пользователя, потому что он не 'Кажется, t вычисляет правильный хеш. Каждый раз, когда я отправляю форму с тем же старым паролем, Cake каждый раз генерирует новый хэш. Вероятно, это из-за моего непонимания того, как работает алгоритм blowfish / bcrypt, но я не могу 'Кажется, это понять.

Что мне здесь не хватает?

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

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