プロさんのおうち   ~プログラムのサンプル置き場~


暗号化・復号


Node.jsのcryptoモジュールを利用して、暗号化・復号してみます。

今回は暗号方式にAES192を利用しています。

プログラム

まずは、暗号化をする部分のプログラムは以下のようになります。


const crypto = require('crypto');

// 暗号化可能な対象を取得する。
var ciphers = crypto.getCiphers();
console.log(ciphers);

// 暗号化用のAES192のインスタンスを生成する。
var cipher = crypto.createCipher('aes192', 'testpassword');

// 暗号化する。入力はUTF-8、出力はBase64にする。
var encrypted = cipher.update('test crypt string. test node.js.', 'utf8', 'base64');
encrypted += cipher.final('base64');
console.log(encrypted);
				

crypto.getCiphersで利用可能な暗号方式を取得することができます。

今回は出力エンコーディングにBase64を利用していますが、Hex等も利用することができます。


次に、復号プログラムです。


// 復号用のAES192のインスタンスを生成する。
var decipher = crypto.createDecipher('aes192', 'testpassword');

// 復号する。暗号化した際の条件と同じ(入力はBase64、出力はUTF-8)にする。
var decrypted = decipher.update(encrypted, 'base64', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted);
				

復号する際は、暗号化時のエンコーディングと同じものを引数として与えています。

参考URL



メニューに戻る


CopyRight 2019 株式会社PUreatio