diff -aurN a/HMAC.php b/HMAC.php --- a/HMAC.php 2005-02-20 14:24:14.000000000 -0500 +++ b/HMAC.php 2018-02-13 14:03:59.421976960 -0500 @@ -68,8 +68,21 @@ * @access private */ var $_pack; - - + + /** + * Constructor + * Pass method as first parameter + * + * @param string $key Key to use for hash + * @param string $func Hash function used for the calculation + * @return void + * @access public + */ + function __construct($key, $func = 'md5') + { + $this->Crypt_HMAC($key, $func); + } + /** * Constructor * Pass method as first parameter diff -aurN a/tests/HMAC_001.phpt b/tests/HMAC_001.phpt --- a/tests/HMAC_001.phpt 1969-12-31 19:00:00.000000000 -0500 +++ b/tests/HMAC_001.phpt 2018-02-13 14:00:47.899812172 -0500 @@ -0,0 +1,26 @@ +--TEST-- +RFC 2104 Test Vectors +--DESCRIPTION-- +This test file implements the three test vectors as described in +RFC 2104 (https://www.ietf.org/rfc/rfc2104.txt) +--FILE-- +hash('Hi There')."\n"; + + $key = 'Jefe'; + $crypt->setKey($key); + echo $crypt->hash('what do ya want for nothing?')."\n"; + + $key = str_repeat(chr(0xaa), 16); + $data = str_repeat(chr(0xdd), 50); + $crypt->setKey($key); + echo $crypt->hash($data)."\n"; +?> +--EXPECT-- +9294727a3638bb1c13f48ef8158bfc9d +750c783e6ab0b503eaa86e310a5db738 +56be34521d144c88dbb8c733f0e8b3f6