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

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

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

作成日: 更新日:

基本的な使い方

createCipherivメソッドは、指定された暗号化アルゴリズム、秘密鍵、そして初期化ベクトル(IV)を用いて、データを暗号化するためのストリームを生成するメソッドです。このメソッドは、Node.jsのcryptoモジュールに属しており、アプリケーションにおけるデータセキュリティを確保する上で非常に重要な役割を果たします。特に、初期化ベクトル(IV)を使用することで、同じ秘密鍵と平文からでも毎回異なる暗号文が生成されるため、暗号文のパターン分析による攻撃を防ぎ、暗号化の安全性を高めることができます。

引数としては、まず使用する暗号化アルゴリズムの名前(例: 'aes-256-cbc')、次にデータを暗号化するための秘密鍵、そしてランダムな値である初期化ベクトル(IV)を渡します。これらの情報は、暗号化処理を実行するために不可欠です。本メソッドは、データの書き込みを許可するWritableストリームとして機能し、書き込まれた平文データを暗号化して、読み取りを許可するReadableストリームとして暗号文を出力するCipherオブジェクトを返します。

このCipherオブジェクトを利用することで、ファイル全体を一度にメモリに読み込むことなく、大きなデータでも効率的に暗号化処理を行うことが可能です。ウェブアプリケーションにおけるユーザーデータの保護、機密ファイルの暗号化保存、ネットワーク経由での安全なデータ転送など、幅広いセキュリティ要件に対応するために活用されます。生成された暗号文を元のデータに戻す(復号化する)際には、対応するcreateDecipherivメソッドを使用します。

構文(syntax)

1const crypto = require('node:crypto');
2
3const algorithm = 'aes-256-cbc';
4const key = crypto.randomBytes(32); // 鍵(Buffer)
5const iv = crypto.randomBytes(16);  // 初期化ベクトル(Buffer)
6
7const cipher = crypto.createCipheriv(algorithm, key, iv);

引数(parameters)

algorithm, key, iv, options

  • algorithm: string: 暗号化アルゴリズムの名前 (例: 'aes-256-cbc')
  • key: Buffer | string | TypedArray | DataView: 暗号化に使用する鍵
  • iv: Buffer | string | TypedArray | DataView: 初期化ベクトル (IV)
  • options: object: オプション設定 (例: { authTagLength: 16 })

戻り値(return)

Cipher

このメソッドは、指定されたアルゴリズム、キー、初期化ベクトルを使用して、暗号化処理を行うためのCipherオブジェクトを生成します。

関連コンテンツ

関連プログラミング言語