1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-06 15:45:34 +02:00

[feature/passwords] Add crypto driver base class and interface

PHPBB3-11610
This commit is contained in:
Marc Alexander 2013-06-15 10:08:45 +02:00
parent fbdbf41dc8
commit 4b6646d1be
2 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,43 @@
<?php
/**
*
* @package phpBB3
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package crypto
*/
abstract class phpbb_crypto_driver_base implements phpbb_crypto_driver_interface
{
/** @var phpbb_config */
protected $config;
/**
* Constructor of crypto driver object
*
* @return string Hash prefix
*/
public function __construct(phpbb_config $config)
{
$this->config = $config;
}
/**
* @inheritdoc
*/
public function is_supported()
{
return true;
}
}

View File

@ -0,0 +1,56 @@
<?php
/**
*
* @package phpBB3
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package crypto
*/
interface phpbb_crypto_driver_interface
{
/**
* Check if hash type is supported
*
* @return bool True if supported, false if not
*/
public function is_supported();
/**
* Returns the hash prefix
*
* @return string Hash prefix
*/
public function get_prefix();
/**
* Returns the name of the hash type
*
* @return string Hash type of driver
*/
public function get_type();
/**
* Hash the password
*
* @return string Password hash
*/
public function hash($password);
/**
* Check the password against the supplied hash
*
* @return bool True if password is correct, else false
*/
public function check($password, $hash);
}