【PHP】秘密鍵を用い、指定したアルゴリズムでハッシュを生成する。

めも。

hash_hmac()関数を使う。

$secretKey = 'foobar';

$data = 'hogehoge';
// 秘密鍵を用いてハッシュを生成
$hash_hmac = hash_hmac('sha512', $data, $secretKey);
// 秘密鍵を用いないでハッシュを生成
$hash = hash('sha512', $data);

var_dump($hash, $h);

↓

string(128) "ccfb4235adbcaa506f944e641b8f20ee31ce2f5df145c22d85155be382f3ef65e7e1e42bd82385b10e98019a630e3ed65d217f639541e9924426d59a96e9c9fd"
string(128) "2b7e36b16f8a849ef312f9ef5ff9b3f4281a8681d0657150899f1113a0eecfdbb4491da763159055b55e122e85281415b11897d268e124f9ef2b40457a63a465"

当然結果は異なる。