Easily!

Posted at



also available on this gist:







How to use it as a bookmarklet (to put your password into the correct input-element, to save you some typing).


let us assume your password is: password,
now you can create a bookmarklet with the encrypted password, that will put the decrypted value, right inside the correct input-element, ready for you to press the next button.

first step is generate the password:

String.prototype.norm_to_ascii=function(){return unescape(encodeURIComponent(this))};
String.prototype.norm_to_unicode=function(){return decodeURIComponent(escape(this))};
String.prototype.crypt_sym=function(k){return String.fromCharCode.apply(undefined,this.split("").map(function(c){return c.charCodeAt(0)^(k||13)}))};

//do this manually
btoa("password".norm_to_ascii().crypt_sym(1111).norm_to_ascii());

we'll get: fWx+fnpif2k=.

next is to make the minimalist, ad-hoc, bookmarklet:

javascript:(function(){top.document.querySelector('input[name="password"]').value=String.fromCharCode.apply(null,unescape(encodeURIComponent(atob("fWx+fnpif2k="))).split("").map(function(c){return c.charCodeAt(0)^13}));return true}());


You can me things more readable if you want to duplicate the same bookmarklet for other websites:
javascript:(function(e,v,k){e.value=String.fromCharCode.apply(null,unescape(encodeURIComponent(atob(v))).split("").map(function(c){return c.charCodeAt(0)^k}));return true;}(top.document.querySelector('input[name="password"]'),"fWx+fnpif2k=",13));


this way you can change the selector query, the encrypted password, and the key from "outside" the main function :]