3 * The core PBKDF interface (Password Based Key Derivation Function)
5 * This interface must be used to describe all derivation functions that take a
6 * password as input and produce a key or hash as output
10 * @category PHPCryptLib
12 * @subpackage Derivation
13 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
14 * @copyright 2011 The Authors
15 * @license http://www.opensource.org/licenses/mit-license.html MIT License
16 * @version Build @@version@@
19 namespace CryptLib\Key\Derivation
;
22 * The core PBKDF interface (Password Based Key Derivation Function)
24 * This interface must be used to describe all derivation functions that take a
25 * password as input and produce a key or hash as output
27 * @category PHPCryptLib
29 * @subpackage Derivation
30 * @author Anthony Ferrara <ircmaxell@ircmaxell.com>
36 * Derive a key from the supplied arguments
38 * @param string $password The password to derive from
39 * @param string $salt The salt string to use
40 * @param int $iterations The number of iterations to use
41 * @param int $length The size of the string to generate
43 * @return string The derived key
45 public function derive($passkey, $salt, $iterations, $klen);
48 * Get the signature for this implementation
50 * This should include all information needed to build the same isntance
53 * @return string The signature for this instance
55 public function getSignature();