convert passy.js/sha1.js to CoffeeScript. passy.coffee now includes a copy of the sha1 code as well. updated tiny version.
This commit is contained in:
1 parent
dcb476ba1c
commit
65c7f720ea
6 files changed
+846
-369
No files matched your search
+8
-7
@@ -3,11 +3,12 @@
|
||||
<head>
|
||||
|
||||
<script type='text/javascript'>
|
||||
var u=function(){function t(c){var b=[];do{b.unshift(c&255);c>>=8}while(c);return b}function s(c){var b=[],a,d=c.length;for(a=0;a<d;a++)b=b.concat(t(c.charCodeAt(a)));return b}function p(c){c=c.slice();var b=c.length*8,a=1732584193,d=4023233417,g=2562383102,h=271733878,i=3285377520,e,j,f,k,o,l,r,m,n;for(c.push(128);(c.length+8)%64;)c.push(0);c=c.concat([(b&1.8374686479671624E19)>>>56,(b&71776119061217280)>>>48,(b&280375465082880)>>>40,(b&1095216660480)>>>32,(b&4278190080)>>>24,(b&16711680)>>>16,(b&
|
||||
65280)>>>8,b&255]);for(b=0;b<c.length/64;b++){e=c.slice(b*64,b*64+64);j=[];f=void 0;k=e.length;for(f=0;f<k;f+=4)j.push(e[f]<<24|e[f+1]<<16|e[f+2]<<8|e[f+3]);m=j;e=a;j=d;f=g;k=h;o=i;for(n=0;n<80;n++){l=n&15;if(n>=16){r=m[l+13&15]^m[l+8&15]^m[l+2&15]^m[l];m[l]=r<<1|r>>>31}r=n<20?(e<<5|e>>>27)+(k^j&(f^k))+o+1518500249+m[l]&4294967295:n<40?(e<<5|e>>>27)+(j^f^k)+o+1859775393+m[l]&4294967295:n<60?(e<<5|e>>>27)+(j&f|j&k|f&k)+o+2400959708+m[l]&4294967295:(e<<5|e>>>27)+(j^f^k)+o+3395469782+m[l]&4294967295;
|
||||
o=k;k=f;f=j<<30|j>>>2;j=e;e=r}a=a+e&4294967295;d=d+j&4294967295;g=g+f&4294967295;h=h+k&4294967295;i=i+o&4294967295}return[a>>>24&255,a>>>16&255,a>>>8&255,a&255,d>>>24&255,d>>>16&255,d>>>8&255,d&255,g>>>24&255,g>>>16&255,g>>>8&255,g&255,h>>>24&255,h>>>16&255,h>>>8&255,h&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255]}var q=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return{g:function(c,b){var a=s(c),d=s(b),g=Array(64),h=Array(64),i;if(a.length>64)a=p(a);for(;a.length<64;)a.push(0);
|
||||
for(i=0;i<64;i++){g[i]=92^a[i];h[i]=54^a[i]}a=p(g.concat(p(h.concat(d))));d="";g=a.length;for(h=0;h<g;h++)d+=q[a[h]>>>4]+q[a[h]&15];return d}}}();
|
||||
window.passy=function(t,s){var p=u.g(s,t).toLowerCase();return[function(q){var c=["A","B","C","D","E","F","G","H","a","b","c","d","e","f","g","h","2","3","4","5","6","7","8","9","#","$","%","*","+","=","@","?"],b={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,b:11,c:12,d:13,e:14,f:15},a="",d,g;for(d=0;d<q.length/2;++d){g=b[q[d*2]]*16+b[q[d*2+1]];a+=c[g%c.length]}return a}(p.slice(0,24)),p.slice(0,10)]};
|
||||
window.passy=function(v,w){var x,t,y,i,z,A,u,B,k,C,s;y=function(a){var c;for(c=[];a;)c.unshift(a&255),a>>=8;return c};s=function(a){var c,b,e,d;b=[];e=0;for(d=a.length;e<d;e++)c=a[e],b=b.concat(y(c.charCodeAt(0)));return b};B=function(a){return[(a&1.8374686479671624E19)>>>56,(a&71776119061217280)>>>48,(a&280375465082880)>>>40,(a&1095216660480)>>>32,(a&4278190080)>>>24,(a&16711680)>>>16,(a&65280)>>>8,a&255]};x=function(a){var c,b,e;e=[];c=0;for(b=a.length;0<=b?c<b:c>b;c+=4)e.push(a[c]<<24|a[c+1]<<
|
||||
16|a[c+2]<<8|a[c+3]);return e};t=function(a){var c;return function(){var b,e,d;d=[];b=0;for(e=a.length;b<e;b++)c=a[b],d.push("0123456789abcdef"[c>>>4&15]+"0123456789abcdef"[c&15]);return d}().join("")};k=function(a){var c,b,e,d,f,j,o,p,g,h,q,n,r,l,i,m,k;r=function(a,b){return a<<b|a>>>32-b};n=a.slice(0);c=n.length*8;g=[1732584193,4023233417,2562383102,271733878,3285377520];a=g[0];j=g[1];o=g[2];p=g[3];g=g[4];for(n.push(128);(n.length+8)%64;)n.push(0);n=n.concat(B(c));q=0;for(k=n.length;0<=k?q<k:q>
|
||||
k;q+=64){m=x(n.slice(q,q+64));h=[a,j,o,p,g];c=h[0];b=h[1];e=h[2];d=h[3];f=h[4];for(h=0;h<80;h++)l=h&15,h>=16&&(i=m[l+13&15]^m[l+8&15]^m[l+2&15]^m[l],m[l]=i<<1|i>>>31),i=h<20?r(c,5)+(d^b&(e^d))+f+1518500249+m[l]&4294967295:h<40?r(c,5)+(b^e^d)+f+1859775393+m[l]&4294967295:h<60?r(c,5)+(b&e|b&d|e&d)+f+2400959708+m[l]&4294967295:r(c,5)+(b^e^d)+f+3395469782+m[l]&4294967295,f=[i,c,r(b,30),e,d],c=f[0],b=f[1],e=f[2],d=f[3],f=f[4];a=a+c&4294967295;j=j+b&4294967295;o=o+e&4294967295;p=p+d&4294967295;g=g+f&4294967295}return[a>>>
|
||||
24&255,a>>>16&255,a>>>8&255,a&255,j>>>24&255,j>>>16&255,j>>>8&255,j&255,o>>>24&255,o>>>16&255,o>>>8&255,o&255,p>>>24&255,p>>>16&255,p>>>8&255,p&255,g>>>24&255,g>>>16&255,g>>>8&255,g&255]};C=function(a){return t(k(s(a)))};u=function(a,c){var b,e,d,f,j;d=s(a);f=s(c);for(d.length>64&&(d=k(d));d.length<64;)d.push(0);j=function(){var a;a=[];for(b=0;b<64;b++)a.push(92^d[b]);return a}();e=function(){var a;a=[];for(b=0;b<64;b++)a.push(54^d[b]);return a}();return t(k(j.concat(k(e.concat(f)))))};z=function(a){return a.match(/[A-H]/)&&
|
||||
a.match(/[a-h]/)&&a.match(/[2-9]/)&&a.match(/[#$%*+=@?]/)};A=function(a){var c,b;c=16;for(b=a.length;16<=b?c<=b:c>=b;16<=b?c+=1:c-=1)if(z(a.substr(0,c)))return c;return a.length};i=function(a,c){var b,e,d;e=function(a){return"ABCDEFGHabcdefgh23456789#$%*+=@?"[parseInt(a,16)%32]};b=u(a,c);b+=C(b);b=function(a){var b;return function(){var c,d;d=[];b=0;for(c=a.length;0<=c?b<c:b>c;b+=2)d.push(e(a.substr(b,2)));return d}().join("")}(b);d=A(b);return b.substr(0,d)};if(!(i("0123","a")==="Gad6DdC2e3cD6dF937c82h5%"&&
|
||||
i("ABab12!@CDcd34#$","aB234SLKDJF(*#@jfsdk")==="d+B8#@hh5CB%=Fef"&&i("11111111111111111111","00000000000000000000")==="Fgh5bE?94A2chdhF"))return["Error!","Error!"];return[i(w,v),u(w,v).substr(0,10)]};
|
||||
</script>
|
||||
|
||||
<script type='text/javascript'>
|
||||
@@ -61,10 +62,10 @@ window.passy=function(t,s){var p=u.g(s,t).toLowerCase();return[function(q){var c
|
||||
<input type='password' id='password' onkeyup='update_passy()'><br/>
|
||||
<hr/>
|
||||
Site Password:<br/>
|
||||
<input type='text' id='result' readonly onfocus='delayed_select(this)'>
|
||||
<input type='text' size=40 id='result' readonly onfocus='delayed_select(this)'>
|
||||
<br/>
|
||||
Site Password (old variation):<br/>
|
||||
<input type='text' id='result_old' readonly onfocus='delayed_select(this)'>
|
||||
<input type='text' size=40 id='result_old' readonly onfocus='delayed_select(this)'>
|
||||
</form>
|
||||
</body>
|
||||
|
||||
|
||||
Reference in new issue
Block a user