私は今しばらくこれに苦労しています。Google にあるほとんどすべてをスキャンしましたが、128 ビット キーを使用して HMAC-SHA-256 アルゴリズムを作成する正しいスクリプトが見つかりません。
次のように簡単にする必要があります。
$algo = 'sha256';
$file = 'file.txt';
$key = '1234567890abcdef1234567890abcdef';
echo hash_hmac_file ($algo, $file, $key );
file.txt
8 つのゼロ ( 00000000 ) のみが含まれます。
出力はFF365893D899291C3BF505FB3175E880でなければなりませんが、どうやって理解できませんか?
複数のハッシュ アルゴリズムを試しましたが、どれも必要な値を返しません。ここで何が間違っているのか、それを修正する方法は?
私もこの解決策を試しましたが、それでも間違っています。
銀行との接続にこれが必要で、最初にこれらのテストデータを提供してくれます。
最終的な答え:
echo 'FF365893D899291C3BF505FB3175E880<br />';
$algo = 'sha256'; $file = 'file.txt'; $key = '1234567890abcdef1234567890abcdef';
echo substr( strtoupper( hash_hmac_file( $algo, $file, pack("H*" , $key) ) ), 0, 32 );