* @copyright 2011 The Authors * @license http://www.opensource.org/licenses/mit-license.html MIT License * @version Build @@version@@ */ namespace CryptLib\Key\Derivation; /** * The core PBKDF interface (Password Based Key Derivation Function) * * This interface must be used to describe all derivation functions that take a * password as input and produce a key or hash as output * * @category PHPCryptLib * @package Key * @subpackage Derivation * @author Anthony Ferrara * @codeCoverageIgnore */ interface PBKDF { /** * Derive a key from the supplied arguments * * @param string $password The password to derive from * @param string $salt The salt string to use * @param int $iterations The number of iterations to use * @param int $length The size of the string to generate * * @return string The derived key */ public function derive($passkey, $salt, $iterations, $klen); /** * Get the signature for this implementation * * This should include all information needed to build the same isntance * later. * * @return string The signature for this instance */ public function getSignature(); }