あたしにゃ~そういう難しいことはわからないですがね(こん平風)、共通鍵暗号方式というのは、とある文字列を暗号化してしまう為に使う鍵(パスワード)と、暗号化したものを元に戻す復号化に使う鍵が一緒、というのが、共通鍵暗号方式つーらしいんですわ。cryptというのは暗号化、復号化するためのプログラムのことで、直訳は「(ドーム型)地下室」という意味らしいですね。
ということで、今回はNode.jsのcryptを使って、データの暗号化と復号化の方法を簡単なサンプルを用いて紹介します。
暗号化 cryptはNode.js自体の機能なので、npm isntallする必要はなく、そのままrequireすれば使えます。
js 1
2
3
4
5
6
7
8
9
var crypto = require('crypto'); // 'password'のところが、共通鍵です。 var cipher = crypto.createCipher('aes-256-cbc', 'password'); var text = '共通鍵暗号方式' var crypted = cipher.update(text, 'utf-8', 'hex'); crypted += cipher.final('hex'); console.log(crypted); // 暗号化された文字列→1c0d50c3e73e352066353f8dd40a16af4f8160d8199f3858ec8a674b58b2e4fc 表示された文字は、ちゃんとごちゃごちゃした文字になったと思います。今度はこれを複合化します。
復号化 js 1
2
3
4
5
decipher = crypto.