예제 #1
0
 /**
  * Test that hash() works with blowfish.
  *
  * @return void
  */
 public function testHashBlowfish()
 {
     Security::setCost(10);
     $test = Security::hash('password', 'blowfish');
     $_hashType = Security::$hashType;
     $key = 'someKey';
     $hashType = 'blowfish';
     Security::setHash($hashType);
     $this->assertSame($hashType, Security::$hashType);
     $this->assertSame(60, strlen(Security::hash($key, null, false)));
     $password = $submittedPassword = $key;
     $storedPassword = Security::hash($password);
     $hashedPassword = Security::hash($submittedPassword, null, $storedPassword);
     $this->assertSame($storedPassword, $hashedPassword);
     $submittedPassword = '******';
     $hashedPassword = Security::hash($submittedPassword, null, $storedPassword);
     $this->assertNotSame($storedPassword, $hashedPassword);
     $expected = sha1('customsaltsomevalue');
     $result = Security::hash('somevalue', 'sha1', 'customsalt');
     $this->assertSame($expected, $result);
     $oldSalt = Configure::read('Security.salt');
     Configure::write('Security.salt', 'customsalt');
     $expected = sha1('customsaltsomevalue');
     $result = Security::hash('somevalue', 'sha1', true);
     $this->assertSame($expected, $result);
     Configure::write('Security.salt', $oldSalt);
     Security::setHash($_hashType);
 }