/** * @covers PasswordLib\Password\Implementation\PHPASS */ public function testCreateAndVerify() { $hash = new PHPASS(array('cost' => 10)); $test = $hash->create('Foobar'); $this->assertTrue($hash->verify('Foobar', $test)); }
* * @return string The converted representation */ protected function to64($input) { $output = ''; $count = strlen($input); $ictr = 0; do { $value = ord($input[$ictr++]); $output .= static::$itoa[$value & 0x3f]; if ($ictr < $count) { $value |= ord($input[$ictr]) << 8; } $output .= static::$itoa[$value >> 6 & 0x3f]; if ($ictr++ >= $count) { break; } if ($ictr < $count) { $value |= ord($input[$ictr]) << 16; } $output .= static::$itoa[$value >> 12 & 0x3f]; if ($ictr++ < $count) { $output .= static::$itoa[$value >> 18 & 0x3f]; } } while ($ictr < $count); return $output; } } PHPASS::init();
/** * Return a valid hash for a password, of if the password is already hashed * just return as is. * * @param string $password * * @throws AccessControlException * * @return string */ private function getValidHash($password) { if (Password\Blowfish::detect($password)) { return $password; } if (Password\PHPASS::detect($password)) { return $password; } if (strlen($password) < 6) { throw new AccessControlException('Can not save a password with a length shorter than 6 characters!'); } return $this->passwordFactory->createHash($password, '$2y$'); }
/** * @covers PasswordLib\Password\Implementation\PHPASS::verify * @dataProvider provideTestVerify * @group Vectors */ public function testVerify($pass, $expect, $value) { $apr = new PHPASS(); $this->assertEquals($value, $apr->verify($pass, $expect)); }