note 65968 added to function.hash-hmac
| From: | eddi at to-grip dot de | Date: | Thu, 11 May 2006 00:45:58 +0000 |
| Subject: | note 65968 added to function.hash-hmac | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-111100@lists.php.net to get a copy of this message | ||
You can emulate it on older versions:
<?php
function hmac($algo,$data,$passwd){
/* md5 and sha1 only */
$algo=strtolower($algo);
$p=array('md5'=>'H32','sha1'=>'H40');
if(strlen($passwd)>64) $passwd=pack($p[$algo],$algo($passwd));
if(strlen($passwd)<64) $passwd=str_pad($passwd,64,chr(0));
$ipad=substr($passwd,0,64) ^ str_repeat(chr(0x36),64);
$opad=substr($passwd,0,64) ^ str_repeat(chr(0x5C),64);
return($algo($opad.pack($p[$algo],$algo($ipad.$data))));
}
?>
So it works fine for CRAM-MD5 and CRAM-SHA1 authentication.
----
Server IP: 217.160.72.57
Probable Submitter: 84.190.86.82
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.hash-hmac.php
Edit -- http://master.php.net/note/edit/65968
Del: integrated -- http://master.php.net/note/delete/65968/integrated
Del: useless -- http://master.php.net/note/delete/65968/useless
Del: bad code -- http://master.php.net/note/delete/65968/bad+code
Del: spam -- http://master.php.net/note/delete/65968/spam
Del: non-english -- http://master.php.net/note/delete/65968/non-english
Del: in docs -- http://master.php.net/note/delete/65968/in+docs
Del: other reasons-- http://master.php.net/note/delete/65968
Reject -- http://master.php.net/note/reject/65968
Search -- http://master.php.net/manage/user-notes.php