title: Blowfish in CakePHP is generating different passwords everytime
body: <p>I'm having trouble implementing Blowfish Hashing in CakePHP. I've done it many times before but something really strange is happening this time.</p>
  
  <p>When I do this in my Model:</p>
  
  <pre><code>&lt;?php
      App::uses('BlowfishPasswordHasher', 'Controller/Component/Auth');
      class Person extends AppModel {
          public $hasAndBelongsToMany = 'Client';
          public $belongsTo = 'Role';
          public function beforeSave($options = array()) {
              if (!$this-&gt;id) {
                  $passwordHasher = new BlowfishPasswordHasher();
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  debug($passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']));
                  $this-&gt;data[$this-&gt;alias]['password'] = $passwordHasher-&gt;hash($this-&gt;data[$this-&gt;alias]['password']);
              }
              return true;
          }
      }
  </code></pre>
  
  <p>It outputs 6 different passwords:</p>
  
  <pre><code>/app/Model/Person.php (line 9)
  '$2a$10$Ow67P5proa7LqBwlXCLFQOc/2WyfvSVNtBLNA5PMb2wxWuoK0mrvq'
  /app/Model/Person.php (line 10)
  '$2a$10$ZI5xv9SmLafBZOaikaIWY.jqyX68mS9RqvF4WbaxEuIj67ddKGguG'
  /app/Model/Person.php (line 11)
  '$2a$10$.5gRV3aQ8M/gDHVsSRmRpur8ugXjEidxPwTyuv5NVDUu3tHbCdmoC'
  /app/Model/Person.php (line 12)
  '$2a$10$58zHo0qAZSLa/KqTFvs6uOxjT0Ua1HlnGmQE5xpKf09in7Di9gCXa'
  /app/Model/Person.php (line 13)
  '$2a$10$MbHTtqgaCTfbK8JVO5Ad6.JKR3Zvipyv3yeid7Zb5MGx38.fufUCG'
  /app/Model/Person.php (line 14)
  '$2a$10$ya3gqRwR2osjAsS0jpuDcu/JNkKrvzZpy/Vsk4nBNY213JrwylDUa'
  </code></pre>
  
  <p>How is that even possible? What could I possibly be doing wrong? </p>
  
  <p>For reference's sake, my components implementation looks like this but the issue occurs when I'm using scaffold as well:</p>
  
  <pre><code>&lt;?php
      class PeopleController extends AppController {
          public $components = array(
              'Auth' =&gt; array(
                  'loginAction' =&gt; array(
                      'controller' =&gt; 'people',
                      'action' =&gt; 'login'
                  ),
                  'authenticate' =&gt; array(
                      'Form' =&gt; array(
                          'fields' =&gt; array('username' =&gt; 'email'),
                          'userModel' =&gt; 'Person',
                          'passwordHasher' =&gt; 'Blowfish'
                      )
                  )
              )
          );
  </code></pre>
  
  <p><strong>Edit:</strong>
  Just to clarify, what I'm trying to get working here is the basic login functionality. My login action looks like this:</p>
  
  <pre><code>public function login() {
  
      if ($this-&gt;request-&gt;is('post')) {
          if ($this-&gt;Auth-&gt;login()) {
              return $this-&gt;redirect($this-&gt;Auth-&gt;redirectUrl());
          }
          else {
              $this-&gt;Session-&gt;setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
          }
      }
  }
  </code></pre>
  
  <p>And my view looks like this:</p>
  
  <pre><code>&lt;h2&gt;Login&lt;/h2&gt;
  &lt;?php echo $this-&gt;Session-&gt;flash('auth'); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;create('Person', array('action' =&gt; 'login')); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;input('email'); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;input('password'); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;end('Submit'); ?&gt;
  </code></pre>