X-Git-Url: https://git.stricted.de/?p=GitHub%2FStricted%2Fspeedport-hybrid-php-api.git;a=blobdiff_plain;f=CryptLib%2FKey%2FDerivation%2FPBKDF.php;fp=CryptLib%2FKey%2FDerivation%2FPBKDF.php;h=6275b2fcf4e448a0384257b0a09513158bd456ea;hp=0000000000000000000000000000000000000000;hb=14d4f286d33b631a93207e4d13086c0a3bc0df12;hpb=c9e082da5cc662b64a74d3770f13d1270068678f diff --git a/CryptLib/Key/Derivation/PBKDF.php b/CryptLib/Key/Derivation/PBKDF.php new file mode 100644 index 0000000..6275b2f --- /dev/null +++ b/CryptLib/Key/Derivation/PBKDF.php @@ -0,0 +1,57 @@ + + * @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(); + +}