JavaScript

JavaScript 環境で暗号機能を実行させたい場合に利用できる環境(ツール・ライブラリ等)です.

Node.js

JavaScript は,本来 Webブラウザで解釈され実行されるクライアントサイドの言語ですが,Node.js を使うとローカルマシン上で JavaScript を実行できるようになります.これによりサーバーサイドの言語も JavaScript で書けるようになり,サーバ側,クライアント側ともに同じ言語で開発できるようになります.

以下,Node.js の基本的な使い方を示します.

node コマンド

node の基本的な使い方は,node コマンドに JavaScriptファイルを指定して実行するものです.

暗号モジュール

Crypto

Node.js 内のモジュールに暗号機能を持つ Crypto があります. Crypto は,OpenSSL のハッシュ関数,HMAC,暗号化・復号,署名生成・検証機能へのラッパーを提供しており,JavaScript から OpenSSLの暗号機能を利用できるようになります.

パスワードを使ってAES暗号で暗号化・復号するプログラム例を示します.

    var crypto = require("crypto");

    var plainText = 'This is a plain text';
    console.log('\nPlain Text : ' + plainText);
    // using password
    var password = 'password';

    // Encrypt
    var cipher = crypto.createCipher('aes-192-cbc', password);
    var encText = cipher.update(plainText, 'utf8', 'hex');
    encText += cipher.final('hex');

    console.log('Encrypt (AES-192-CBC) :');
    console.log(encText);

    // Decrypt
    var decipher = crypto.createDecipher('aes-192-cbc', password);
    var decText = decipher.update(encText, 'hex', 'utf8');
    decText += decipher.final('utf8');

    console.log('Decrypt (AES-192-CBC) : ');
    console.log(decText + "\n");

CryptoJS

CryptoJS は,JavaScript で実装された暗号機能を実現するモジュールです.(→ CryptoJS

CryptoJS で利用できる主な暗号機能を紹介します.

inserted by FC2 system