jspass
by
ohac
2011-01-30 [2011/01/30 14:32:15]
アドレス、ユーザ名、SALT、マスターパスワードでパスワードを生成する。
@@ -1,6 +1,6 @@
/*
- * @title bookmarklet
- * @description my bookmarklet
+ * @title jspass
+ * @description アドレス、ユーザ名、SALT、マスターパスワードでパスワードを生成する。
* @include http://*
* @license MIT License
* @require http://tociyuki.flop.jp/archive/base64.js
@@ -8,6 +8,26 @@
* @private
*/
(function(){
-alert(hex_md5(location.href)+base64encode('aaacccc'));
-}())
+function hexstr2bin(str) {
+ var binstr = '';
+ for (var i = 0; i < str.length; i += 2) {
+ var i8 = parseInt('0x' + str.substr(i, 2));
+ binstr += String.fromCharCode(i8);
+ }
+ return binstr;
+}
+
+var url = location.href;
+var user = prompt('username','');
+var salt = prompt('salt','');
+var master = prompt('master password','');
+var strlen = prompt('length',12);
+var times = prompt('times',0);
+var str = url + salt + user + master;
+for (var i = 0; i < times; i++) { str = str + str; }
+var md5str = hex_md5(str);
+var md5bin = hexstr2bin(md5str);
+var pass = base64encode(md5bin).substr(0, strlen);
+alert(pass);
+}())
/*
* @title jspass
* @description アドレス、ユーザ名、SALT、マスターパスワードでパスワードを生成する。
* @include http://*
* @license MIT License
* @require http://tociyuki.flop.jp/archive/base64.js
* @require http://pajhome.org.uk/crypt/md5/2.2/md5-min.js
* @private
*/
(function(){
function hexstr2bin(str) {
var binstr = '';
for (var i = 0; i < str.length; i += 2) {
var i8 = parseInt('0x' + str.substr(i, 2));
binstr += String.fromCharCode(i8);
}
return binstr;
}
var url = location.href;
var user = prompt('username','');
var salt = prompt('salt','');
var master = prompt('master password','');
var strlen = prompt('length',12);
var times = prompt('times',0);
var str = url + salt + user + master;
for (var i = 0; i < times; i++) { str = str + str; }
var md5str = hex_md5(str);
var md5bin = hexstr2bin(md5str);
var pass = base64encode(md5bin).substr(0, strlen);
alert(pass);
}())
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。