2012年4月1日日曜日

'JSでRSA'をMac OSX jscコマンドで試してみた

追記(2012/04/01):以下のようにすれば"console.log(msg);"で出力することはできる.
var console= { "log":function(msg) { print(msg); } };




動機
'JSでRSA - 橋本詳解'を読んで試してみようと思ったが,HTMLの部分や読み込みをscriptタグで書くのめんどくさいなぁと思ったので調べ始めた.


jsc
こちらの記事( 'JavaScript shell scripting / Stoyan's phpied.com phpied.com' )にあるようにjscというのがMac OSXにはあるらしい.
sudo ln -s /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc /usr/local/bin/jsc

とかしといてみた.


コード
動機ページのコードをベースに改変.
・出力は'console.log'ではなく'print'(1).
・外部ファイルの読み込みは'load'(2).
・navigatorはjscではアクセスできないのでloadする前に必要な分だけ定義(3).
・passがそのままというのも失礼な気がしたので変えさせていただきました(4).

var navigator= { "appName":"Mozilla", "appVersion":"5" }; // (3)
load("./cryptico.js"); // (2)

var pass = 'p_g_';// (4)
var rsa_key = cryptico.generateRSAKey(pass, 1024);
var pub_key = cryptico.publicKeyString(rsa_key);

var enc = cryptico.encrypt('hello', pub_key);
print(enc.cipher); // (1)

var dec = cryptico.decrypt(enc.cipher, rsa_key);
print(dec.plaintext); // (1)

0 件のコメント: