情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsでデータのHMACを算出する

使用可能なハッシュ関数の取得

使用可能なハッシュ関数を取得するにはcrypto.getHashes関数を使用します。

var crypto = require('crypto');

var hashes = crypto.getHashes();

返り値として使用可能なハッシュ関数が配列として得られます。

HMACの算出

データのHMACを算出するにはcrypto.createHmac関数を使用します。

var hmac = crypto.createHmac('xxx', 'yyy');

第1引数にハッシュ関数を指定します。たとえば、SHA-256の場合にはsha256を指定します。

第2引数に秘密鍵を指定します。

返り値としてデータのHMACを算出する変換ストリームが得られます。

サンプルコード1

文字列のHMACを算出し、標準出力に出力します。

crypto-create-hmac.js

var crypto = require('crypto');

var hmac = crypto.createHmac('sha256', 'key');
hmac.on('data', function (data) {
    console.log(data);
});
hmac.on('error', function (err) {
    console.error(err);
    process.exit(1);
});
hmac.write('this ');
hmac.write('is ');
hmac.write('string');
hmac.write('.');
hmac.end();

実行結果

C:\work\node>node crypto-create-hmac.js
<Buffer 52 08 b7 2b cb aa 2e 06 e2 ab 91 e4 fc 02 19 c2 7e ca bd c9 16 68 25 43 d4 03 5e 34 97 92 12 a1>

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js