【Node.js24.x】Object::privateEncrypt()メソッドの使い方
privateEncryptメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
privateEncryptメソッドは、RSA秘密鍵を使用してデータを処理するメソッドです。このメソッドは、与えられたデータに対して秘密鍵を用いた特定の数学的演算を実行し、その結果としてバッファ形式のデータを生成します。
主な用途としては、デジタル署名の作成が挙げられます。デジタル署名とは、データの送信者が本人であることを証明し、かつデータが途中で改ざんされていないことを保証するための技術です。privateEncryptメソッドは、通常、元のデータのハッシュ値(データの「指紋」のようなもの)を秘密鍵で暗号化し、署名データの一部として生成するために利用されます。これにより、受信者は公開鍵を使ってその署名を検証し、データが正当な送信者から送られ、途中で変更されていないことを確認できます。
このメソッドを使用する際には、秘密鍵の取り扱いに最大限の注意を払う必要があります。秘密鍵は非常に機密性の高い情報であり、もし第三者に漏洩した場合、なりすましやデータの偽造といった重大なセキュリティ上の問題を引き起こす可能性があります。そのため、秘密鍵は厳重に管理し、決して公開しないように徹底することが求められます。Node.js環境におけるセキュアなアプリケーション開発において、データの信頼性と完全性を確保するために重要な役割を果たすメソッドです。
構文(syntax)
1const crypto = require('crypto'); 2 3// RSA鍵ペアを生成し、privateKeyを取得します。 4const { privateKey } = crypto.generateKeyPairSync('rsa', { 5 modulusLength: 2048, 6 publicKeyEncoding: { type: 'spki', format: 'pem' }, 7 privateKeyEncoding: { type: 'pkcs8', format: 'pem' } 8}); 9 10// 暗号化したいデータをBuffer形式で用意します。 11const dataToEncrypt = Buffer.from('This is a sensitive message.'); 12 13// privateEncrypt メソッドの構文 14// 第一引数に秘密鍵、第二引数に暗号化するデータを指定します。 15const encryptedData = crypto.privateEncrypt(privateKey, dataToEncrypt);
引数(parameters)
privateKey, buffer
- privateKey: Buffer | KeyObject | string: 復号に使用する秘密鍵。Buffer、KeyObject、またはPEM形式の文字列で指定します。
- buffer: Buffer: 復号するデータが含まれるBuffer。
戻り値(return)
Buffer
privateEncryptメソッドは、秘密鍵を使用してデータを暗号化した結果をBufferオブジェクトとして返します。