/**
  * @covers PasswordLib\Password\Implementation\PHPASS
  */
 public function testCreateAndVerify()
 {
     $hash = new PHPASS(array('cost' => 10));
     $test = $hash->create('Foobar');
     $this->assertTrue($hash->verify('Foobar', $test));
 }
Example #2
0
     *
     * @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();
Example #3
0
 /**
  * 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));
 }