« 行列計算 | トップページ | ボタン »

2007年5月20日 (日)

暗号/ハッシュ関数

Blowfish (暗号)

Dojoは、ライセンスフリーのBlowfish共通鍵暗号方法を提供している。

文字を暗号化するときは、dojo.crypto.Blowfish.encrypt(plaintext, key, ao)を用いる。plaintextに暗号化したい文字列、keyに暗号化に用いる鍵を指定する。aoは、ao.outputTypeとして出力形式, ao.cipherModeとして暗号化モードを指定できる。outputTypeには、Base64:0, Hex:1, String:2, Raw:3のいずれかを指定できる(デフォルトはBase64)。cipherModeには、ECB:0, CBC:1, PCBC:2, CFB:3, OFB:4, CTR:5のじずれかを指定できる。

暗号化された文字列を戻したいときは、dojo.crypto.Blowfish.decrypt(ciphertext, key, ao)を用いる。ciphertextに暗号化された文字列、keyには暗号化したときに用いた鍵を指定する。

dojo.require("dojo.crypto.Blowfish");

var message = "The rain in Spain falls mainly on the plain.";
var key = "foobar";
var enc = dojo.crypto.Blowfish.encrypt(message, key);
--> "WI5J5BPPVBuiTniVcl7KlIyNMmCosmKTU6a/ueyQuoUXyC5dERzwwdzfFsiU4vBw"

var dec = dojo.crypto.Blowfish.decrypt(enc, key);
--> "The rain in Spain falls mainly on the plain."

MD5 (ハッシュ関数)

MD5によるハッシュ値を求めるには、dojo.crypto.MD5.compute(data, outputType)を用いる。dataには、ハッシュ値を求めるデータを指定する。outputTypeは出力形式を指定する。

鍵付きのハッシュ関数を用いるときは、dojo.crypto.MD5.getHMAC(data, key, outputType)を用いる。keyに鍵を指定する。

dojo.require("dojo.crypto.MD5");

var message = "The rain in Spain falls mainly on the plain.";
var hash = dojo.crypto.MD5.compute(message);
--> "OUhxbVZ1Mtmu4zx9LzS5cA=="

SHA-1 (ハッシュ関数)

SHA-1はMD5と同じハッシュ関数である。SHA-1はMD5と同じく、computeとgetHMACの関数が提供されている。

dojo.require("dojo.crypto.SHA1");

var message = "The rain in Spain falls mainly on the plain.";
var hash = dojo.crypto.SHA1.compute(message);
--> "GJjfAfBq/Lm9o2JoVzEi2DujBHU="

« 行列計算 | トップページ | ボタン »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/232684/6486132

この記事へのトラックバック一覧です: 暗号/ハッシュ関数:

« 行列計算 | トップページ | ボタン »