【Node.js24.x】Object::Hmac()メソッドの使い方
Hmacメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Hmacメソッドは、メッセージ認証コード(HMAC)を計算するためのHmacオブジェクトを生成するメソッドです。HMACは、指定されたハッシュアルゴリズムと秘密鍵(共有秘密)を用いてデータの完全性と認証性を保証する暗号技術の一種です。このメソッドは、データの改ざん検出や、データが信頼できる送信元から発信されたことの検証といったセキュリティ要件が求められる場面で特に重要となります。
Hmacメソッドを呼び出すことで生成されるHmacオブジェクトは、まずupdate()メソッドを使用して認証対象のデータを少しずつ取り込むことができます。その後、すべてのデータが処理された段階でdigest()メソッドを呼び出すと、最終的なHMAC値が計算されて出力されます。このHMAC値をデータと共に送信することで、受信者は同じ秘密鍵とアルゴリズムを用いてHMACを再計算し、受け取ったデータが途中で変更されていないか、また意図した送信元から送られたものであるかを検証することが可能になります。Node.jsのcryptoモジュールで提供されており、セキュアなアプリケーション構築に不可欠な機能です。
構文(syntax)
1import { createHmac } from 'node:crypto'; 2 3const algorithm = 'sha256'; 4const key = 'your-secret-key'; // 秘密鍵 (Buffer, TypedArray, DataView, string, ArrayBuffer) 5const dataToHash = 'This is the data to be hashed.'; // ハッシュするデータ (Buffer, string, ArrayBuffer) 6 7// Hmacインスタンスを生成 8const hmac = createHmac(algorithm, key); 9 10// データをHmacに追加 11hmac.update(dataToHash); 12 13// 最終的なハッシュ値を取得 (指定されたエンコーディングで) 14const hashedValue = hmac.digest('hex'); // 'hex', 'base64', 'binary' など 15 16console.log(hashedValue);
引数(parameters)
algorithm, key, options = {}
Node.js (v24) - Object.Hmac:
- algorithm: string: 使用するハッシュアルゴリズムの名前(例: 'sha256', 'md5')
- key: string | Buffer | TypedArray | DataView: HMACの計算に使用する秘密鍵
- options: object = {}: オプションを指定するオブジェクト(オプションの詳細は公式ドキュメントを参照)
戻り値(return)
Hmac
crypto.createHmac() メソッドは、指定されたアルゴリズムとキーを使用して新しい Hmac オブジェクトを生成し、それを返します。この Hmac オブジェクトは、メッセージ認証コード(MAC)の計算に使用されます。