mozMD5

MD5XPCOMコンポーネントを書いてみました。これ単体でXPIにしたほうがいいのだろうか。とりあえず動くようになって少し感動。

const mozMD5 = Components.Constructor(Components.classes["@mozilla.org/md5;1"], Components.interfaces.mozIMD5);

とやってコンストラクタを作ると、

var md5 = new mozMD5();
md5.update(200);
md5.update(400);
alert(md5.hexDigest);

みたいに使えます。もっと簡易に扱えるように、

var md5 = Components.classes["@mozilla.org/md5;1"].createInstance(Components.interfaces.mozIMD5);
alert(md5.hash(200)); // 200のMD5文字列
alert(md5.hexHash(400)); // 400のMD5値の16進表記

こんなメソッドももってます。