summaryrefslogtreecommitdiff
path: root/dev-php/PEAR-Crypt_HMAC/files/HMAC-1.0.1.patch
blob: efa9d96bdedfac639e1f9b769c0f3368a2894232 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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--
+<?php
+	require_once 'Crypt/HMAC.php';
+
+	$key = str_repeat(chr(0x0b), 16);
+	$crypt = new Crypt_HMAC($key, 'md5');
+	echo $crypt->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