【Node.js24.x】Object::SubtleCrypto()メソッドの使い方
SubtleCryptoメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
SubtleCryptoメソッドは、Node.jsの組み込み機能であるWeb Crypto APIを通じて、安全な暗号操作を実行するメソッドです。このメソッドは、主にデータの暗号化、復号化、デジタル署名の生成と検証、ハッシュ計算、鍵の生成や導出といった、多様な暗号学的プリミティブ機能を提供します。Web標準に準拠しており、クライアントサイドだけでなくサーバーサイドでも一貫した方法で暗号処理を実装できる点が特徴です。
Objectクラスに属すると定義されていますが、実際にはcryptoモジュールが提供するsubtleプロパティを介してアクセスされるオブジェクトであり、このオブジェクトが暗号処理のための複数の非同期メソッド群(例:encrypt(), decrypt(), sign(), verify()など)を公開しています。これにより、システムエンジニアは、機密情報の保護や通信の安全性を確保するための堅牢なセキュリティ機能を、効率的かつ安全にアプリケーションに組み込むことができます。Promiseベースで動作するため、非同期処理を適切に扱うことが重要です。
構文(syntax)
1import { webcrypto } from 'crypto'; 2 3async function calculateSHA256Hash(inputString) { 4 const encoder = new TextEncoder(); 5 const data = encoder.encode(inputString); // 文字列をUint8Arrayにエンコード 6 7 // webcrypto.subtle.digest メソッドでハッシュを計算 8 const hashBuffer = await webcrypto.subtle.digest('SHA-256', data); 9 10 // ArrayBuffer形式のハッシュを16進数文字列に変換 11 const hashArray = Array.from(new Uint8Array(hashBuffer)); 12 const hexHash = hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); 13 14 return hexHash; 15} 16 17// 使用例: "example" のSHA-256ハッシュを計算して表示 18(async () => { 19 const original = 'example'; 20 const hashResult = await calculateSHA256Hash(original); 21 console.log(hashResult); 22})();
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません