Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Object::createDecipheriv()メソッドの使い方

createDecipherivメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

createDecipherivメソッドは、暗号化されたデータを復号するためのDecipherオブジェクトを作成するメソッドです。このメソッドは、指定された暗号化アルゴリズム、秘密鍵、および初期化ベクトル(IV)を使用して、暗号文を元の平文に戻すための準備を行います。

具体的には、algorithm引数には'aes-256-cbc'のような、復号に用いる暗号化アルゴリズム名を文字列で指定します。key引数には、暗号化時に使用した共通鍵をBuffer形式で渡す必要があります。そして、iv引数には、暗号化時に使用した初期化ベクトルをBuffer形式で指定します。これらの引数は、データを正しく復号するために不可欠であり、暗号化時とまったく同じものを指定する必要があります。

このメソッドが返すDecipherオブジェクトは、その後、update()メソッドやfinal()メソッドと組み合わせて使用されます。update()メソッドで暗号化されたデータの一部または全体を渡し、最終的にfinal()メソッドを呼び出すことで、すべてのデータが復号され、元の平文が得られます。

createDecipherivメソッドは、Node.jsアプリケーションでデータの機密性を保護し、安全に復元するための中心的な役割を担っています。ネットワーク経由で送受信される機密データの復号や、ローカルに保存された暗号化ファイルの読み込みなど、幅広いセキュリティ関連の処理で活用されます。暗号化された情報を安全に管理する上で、正確なアルゴリズムと鍵、IVの管理が極めて重要となります。

構文(syntax)

1const crypto = require('node:crypto');
2
3// 復号化に使用するアルゴリズムを指定します(例: 'aes-256-cbc')
4const algorithm = 'aes-256-cbc';
5// 復号化に使用する鍵(Buffer形式で、アルゴリズムに応じた適切な長さ)
6// 例として32バイト(256ビット)の鍵バッファを作成
7const key = Buffer.from('a'.repeat(32));
8// 復号化に使用する初期化ベクトル(Buffer形式で、アルゴリズムに応じた適切な長さ)
9// 例として16バイト(128ビット)のIVバッファを作成
10const iv = Buffer.from('b'.repeat(16));
11
12const decipher = crypto.createDecipheriv(algorithm, key, iv);

引数(parameters)

algorithm, key, iv, options

  • algorithm: string: 暗号化・復号化に使用するアルゴリズム名 (例: 'aes-256-cbc')
  • key: Buffer | string | TypedArray | DataView: 暗号化・復号化に使用する鍵
  • iv: Buffer | string | TypedArray | DataView: 初期化ベクトル (Initialization Vector)
  • options?: object: オプション設定オブジェクト

戻り値(return)

Decipher

createDecipheriv メソッドは、指定されたアルゴリズム、キー、初期化ベクトル(IV)を使用して、データの復号化を行うための Decipher オブジェクトを返します。このオブジェクトは、復号化処理を実行するために使用できます。

関連コンテンツ

関連プログラミング言語