You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4 lines
1.4 KiB
JavaScript
4 lines
1.4 KiB
JavaScript
(function(w,x){var t="0123456789abcdef".split(""),v={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:10,B:11,C:12,D:13,E:14,F:15};w.sha1=function(e){var a;a:{for(a=e.length;a--;)if(255<e.charCodeAt(a)){a=!0;break a}a=!1}if(a){var c=encodeURIComponent(e);e=[];var d=0;a=0;for(var f=c.length;d<f;++d){var r=c.charCodeAt(d);e[a>>2]=37==r?e[a>>2]|(v[c.charAt(++d)]<<4|v[c.charAt(++d)])<<(3-a%4<<3):e[a>>2]|r<<(3-a%4<<3);++a}c=(a+8>>6)+1<<4;d=a>>2;e[d]|=128<<(3-a%4<<3);for(d+=1;d<c;++d)e[d]=
|
|
0;e[c-1]=a<<3}else{a=e.length;d=(a+8>>6)+1<<4;c=[];for(f=0;f<d;++f)c[f]=0;for(f=0;f<a;++f)c[f>>2]|=e.charCodeAt(f)<<(3-f%4<<3);c[f>>2]|=128<<(3-f%4<<3);c[d-1]=a<<3;e=c}a=1732584193;for(var d=4023233417,c=2562383102,f=271733878,r=3285377520,u=0,t=e.length;u<t;u+=16){for(var n=[],b=0;16>b;++b)n[b]=e[u+b];for(b=16;80>b;++b)n[b]=p(n[b-3]^n[b-8]^n[b-14]^n[b-16],1);for(var m=a,h=d,k=c,l=f,q=r,g,b=0;20>b;++b)g=h&k|~h&l,g=p(m,5)+g+q+1518500249+n[b],q=l,l=k,k=p(h,30),h=m,m=g;for(;40>b;++b)g=h^k^l,g=p(m,5)+
|
|
g+q+1859775393+n[b],q=l,l=k,k=p(h,30),h=m,m=g;for(;60>b;++b)g=h&k|h&l|k&l,g=p(m,5)+g+q+2400959708+n[b],q=l,l=k,k=p(h,30),h=m,m=g;for(;80>b;++b)g=h^k^l,g=p(m,5)+g+q+3395469782+n[b],q=l,l=k,k=p(h,30),h=m,m=g;a+=m;d+=h;c+=k;f+=l;r+=q}return s(a)+s(d)+s(c)+s(f)+s(r)};var p=function(e,a){return e<<a|e>>>32-a},s=function(e){for(var a="",c=0;4>c;c++)var d=3-c<<3,a=a+(t[e>>d+4&15]+t[e>>d&15]);return a}})(window);
|