title: DefaultPasswordHasher generating different hash for the same value
body: <p>I have a password stored at <code>database</code> hashed with <code>DefaultPasswordHasher</code> at <code>add</code> action.</p>
  
  <p>I have another action for change the password for the loggedin user, on this form I have a field called <code>current_password</code> that I need compare with the current password value from <code>database</code>.</p>
  
  <p>The issue is that <code>DefaultPasswordHasher</code> is generating a different hash for each time that I'm hashing the value of the form so this will never match with the hash from database.</p>
  
  <p>Follow the validation code of the 'current_password' field:</p>
  
  <pre><code>    -&gt;add('current_password', 'custom', [
          'rule' =&gt; function($value, $context){
              $user = $this-&gt;get($context['data']['id']);
              if ($user) {
                  echo $user-&gt;password; // Current password value hashed from database
                  echo '&lt;br&gt;';
                  echo $value; //foo
                  echo '&lt;br&gt;';
                  echo (new DefaultPasswordHasher)-&gt;hash($value); // Here is displaying a different hash each time that I post the form
  
                  // Here will never match =[
                  if ($user-&gt;password == (new DefaultPasswordHasher)-&gt;hash($value)) {
                      return true;
                  }
              }
              return false;
          },
          'message' =&gt; 'Você não confirmou a sua senha atual corretamente'
      ])
  </code></pre>