This is my port of the excellent password bookmarklet from Nic Wolff
It uses the Liorean bookmarklet code to implement a simple workaround for the size limit in Microsoft Explorer’s URL length.
Installation instructions:
Follow these carefully or your bookmarklet will not work.

  1. Save this piece of javascript into a file somewhere on your server as passlet.js:
    <br /> function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * 8));}<br /> function core_md5(x, len){x[len &gt;&gt; 5] |= 0x80 &lt;&lt; ((len) % 32);x[(((len + 64) &gt;&gt;&gt; 9) &lt;&lt; 4) + 14] = len;var a = 1732584193;var b = -271733879;var c = -1732584194;var d = 271733878;for(var i = 0; i &lt; x.length; i += 16){var olda = a;var oldb = b;var oldc = c;var oldd = d;a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);c = md5_ff(c, d, a, b, x[i+10], 17, -42063);b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);a = safe_add(a, olda);b = safe_add(b, oldb);c = safe_add(c, oldc);d = safe_add(d, oldd);}return Array(a, b, c, d);}<br /> function md5_cmn(q, a, b, x, s, t){return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);}<br /> function md5_ff(a, b, c, d, x, s, t){return md5_cmn((b &amp; c) | ((~b) &amp; d), a, b, x, s, t);}<br /> function md5_gg(a, b, c, d, x, s, t){return md5_cmn((b &amp; d) | (c &amp; (~d)), a, b, x, s, t);}<br /> function md5_hh(a, b, c, d, x, s, t){return md5_cmn(b ^ c ^ d, a, b, x, s, t);}<br /> function md5_ii(a, b, c, d, x, s, t){return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);}<br /> function safe_add(x, y){var lsw = (x &amp; 0xFFFF) + (y &amp; 0xFFFF);var msw = (x &gt;&gt; 16) + (y &gt;&gt; 16) + (lsw &gt;&gt; 16);return (msw &lt;&lt; 16) | (lsw &amp; 0xFFFF);}<br /> function bit_rol(num, cnt){return (num &lt;&lt; cnt) | (num &gt;&gt;&gt; (32 &#8211; cnt));}<br /> function str2binl(str){var bin = Array();var mask = (1 &lt;&lt; 8) &#8211; 1;for(var i = 0; i &lt; str.length * 8; i += 8)bin[i&gt;&gt;5] |= (str.charCodeAt(i / 8) &amp; mask) &lt;&lt; (i%32);return bin;}<br /> function binl2hex(binarray){var hex_tab = &quot;0123456789abcdef&quot;;var str = &quot;&quot;;for(var i = 0; i &lt; binarray.length * 4; i++){str += hex_tab.charAt((binarray[i&gt;&gt;2] &gt;&gt; ((i%4)*8+4)) &amp; 0xF) + hex_tab.charAt((binarray[i&gt;&gt;2] &gt;&gt; ((i%4)*8)) &amp; 0xF);}return str;}<br /> function doIt(master){<br /> if (master==&#8221;) master=window.prompt(&#8216;Enter your master password&#8217;);<br /> if (master != &#8221; &amp;&amp; master != null)<br /> {<br /> re = new RegExp(&quot;https*://([^/]+)&quot;);<br /> host = document.location.href.match(re)[1];<br /> var i=0,j=0;<br /> var p=hex_md5(master+&#8217;:&#8217;+host).substr(0,8);<br /> var F=document.forms;<br /> for(i=0;i &lt; F.length;i++)<br /> {<br /> E=F[i].elements;<br /> for(j=0;j &lt; E.length;j++)<br /> {<br /> D=E[j];<br /> if(D.type==&#8217;password&#8217;)<br /> {<br /> D.value=p;<br /> D.focus();<br /> }<br /> if(D.type==&#8217;text&#8217;)<br /> {<br /> if(D.name.toUpperCase().indexOf(&#8216;PASSWORD&#8217;)!=-1||D.name.toUpperCase().indexOf(&#8216;PASSWD&#8217;)!=-1)<br /> {<br /> D.value=p;D.focus();<br /> }<br /> }<br /> }<br /> }<br /> }<br /> }<br />
  2. Drag one of the links(or both) to the ‘Links’ toolbar in your MSIE, or into favorites:
    • This bookmarklet PASS uses the hardcoded password.
    • This bookmarklet aPASS will ask for password each time.
  3. Edit the URL of the passlet.js in the bookmark
  4. If you’re using the hardcoded master password, edit it too.