は私がhash_hmacSHA
機能
function hmac($key, $data){
$blocksize = 64;
$hashfunc = 'sha1';
if (strlen($key) > $blocksize)
$key = pack('H*', $hashfunc($key));
$key = str_pad($key, $blocksize, chr(0x00));
$ipad = str_repeat(chr(0x36), $blocksize);
$opad = str_repeat(chr(0x5c), $blocksize);
$hmac = pack('H*', $hashfunc(($key^$opad) . pack('H*', $hashfunc(($key^$ipad) . $data))));
return bin2hex($hmac);
}
例との大きな問題を抱えている間違った1 hash_hmacは次のとおりです。
<?php
echo hmac('111111', '222222');//=1558ab6c5ab2b0d1cd129b9ad11527cf33486705
が、私の
$jeden = 111111;
$dwa =222222;
$hashWiadomosci = hash_hmac('sha1', $jeden, $dwa);
です:22f91d281349bb3081d3cec9f906572eec5c55b2
どうやって間違っていますか?
'hmac()'とは何ですか? –
関数hmac($ key、$ data){ \t $ blocksize = 64; \t $ hashfunc = 'sha1'; \t if(strlen($ key)> $ blocksize) \t \t $ key = pack( 'H *'、$ hashfunc($ key)); \t $ key = str_pad($ key、$ blocksize、chr(0x00)); \t $ ipad = str_repeat(chr(0x36)、$ blocksize); \t $ opad = str_repeat(chr(0x5c)、$ blocksize); (HKEY_LOCAL_MACHINE \ SOFTWARE \ HOWTO)$ HACK = pack( 'H *'、$ hash $) \t return bin2hex($ hmac); } –
あなたはあなたの質問を編集する必要がありますhttp://stackoverflow.com/posts/42875689/editコメントにコードをドロップしないで、ありがとう。 –