44 lines
822 B
PHP
44 lines
822 B
PHP
<?php namespace System;
|
|
|
|
class Hash {
|
|
|
|
/**
|
|
* Hash a string using PHPass.
|
|
*
|
|
* PHPass provides reliable bcrypt hashing, and is used by many popular PHP
|
|
* applications such as Wordpress and Joomla.
|
|
*
|
|
* @access public
|
|
* @param string $value
|
|
* @return string
|
|
*/
|
|
public static function make($value)
|
|
{
|
|
return static::hasher()->HashPassword($value);
|
|
}
|
|
|
|
/**
|
|
* Determine if an unhashed value matches a given hash.
|
|
*
|
|
* @param string $value
|
|
* @param string $hash
|
|
* @return bool
|
|
*/
|
|
public static function check($value, $hash)
|
|
{
|
|
return static::hasher()->CheckPassword($value, $hash);
|
|
}
|
|
|
|
/**
|
|
* Create a new PHPass instance.
|
|
*
|
|
* @return PasswordHash
|
|
*/
|
|
private static function hasher()
|
|
{
|
|
require_once SYS_PATH.'vendor/phpass'.EXT;
|
|
|
|
return new \PasswordHash(10, false);
|
|
}
|
|
|
|
}
|