我現在正在爲此苦苦掙扎。我掃描了幾乎所有的谷歌,但我找不到正確的腳本,如何創建一個128位密鑰的HMAC-SHA-256算法。使用128位密鑰創建HMAC-SHA-256算法
它應該是如此簡單:
$algo = 'sha256';
$file = 'file.txt';
$key = '1234567890abcdef1234567890abcdef';
echo hash_hmac_file ($algo, $file, $key);
file.txt
僅包含8個零()。
輸出必須是FF365893D899291C3BF505FB3175E880,但我只是不明白如何?
我已經嘗試了多種散列算法,但它們都沒有返回必要的值。我在這裏做錯了什麼,以及如何解決它?
我也試過this解決方案,但它仍然出錯。
我需要這個連接銀行,他們提供these test data開始。
最終的答案:
echo 'FF365893D899291C3BF505FB3175E880<br />';
$algo = 'sha256'; $file = 'file.txt'; $key = '1234567890abcdef1234567890abcdef';
echo substr(strtoupper(hash_hmac_file($algo, $file, pack("H*" , $key))), 0, 32);
究竟是什麼錯誤? –
我無法弄清楚如何創建一個加密的mac從示例8個零,所以它完全出來'FF365893D899291C3BF505FB3175E880' – Peon
也許鍵應該被視爲十六進制字節而不是字符串? – fatfredyy