mirror of https://github.com/emn178/js-md5.git
parent
d934165952
commit
316a103aa1
@ -1,10 +1,11 @@
|
|||||||
(function(m,v){var t="0123456789abcdef".split(""),u=function(h,l){var e,k=1732584193,n=4023233417,p=2562383102,q=271733878,b,d,a,c,g;if(!l&&/[^\x00-\x7F]/.test(h)){e=[];for(d=b=0;d<h.length;d++)a=h.charCodeAt(d),128>a?e[b++]=a:(2048>a?e[b++]=192|a>>6:(55296>a||57344<=a?e[b++]=224|a>>12:(a=65536+((a&1023)<<10|h.charCodeAt(++d)&1023),e[b++]=240|a>>18,e[b++]=128|a>>12&63),e[b++]=128|a>>6&63),e[b++]=128|a&63);b=e.length;d=(b+8>>6)+1<<4;a=[];for(c=0;c<d;++c)a[c]=0;for(c=0;c<b;++c)a[c>>2]|=e[c]<<((c&3)<<
|
(function(p,x){"undefined"!=typeof module&&(p=global);var w="0123456789abcdef".split(""),e=[];if(!p.JS_MD5_TEST&&"undefined"!=typeof ArrayBuffer)var l=new ArrayBuffer(64),m=new Uint8Array(l),e=new Uint32Array(l);var l=function(n,p){var q=1732584193,r=4023233417,l=2562383102,t=271733878,a,b,d,c,f,g=0,k,h,v=!1;if(!p&&/[^\x00-\x7F]/.test(n)){v=!0;k=[];for(a=h=0;a<n.length;a++)b=n.charCodeAt(a),128>b?k[h++]=b:(2048>b?k[h++]=192|b>>6:(55296>b||57344<=b?k[h++]=224|b>>12:(b=65536+((b&1023)<<10|n.charCodeAt(++a)&
|
||||||
3);a[c>>2]|=128<<((c&3)<<3);a[d-2]=b<<3;e=a}else{e=h.length;b=(e+8>>6)+1<<4;d=[];for(a=0;a<b;++a)d[a]=0;for(a=0;a<e;++a)d[a>>2]|=h.charCodeAt(a)<<((a&3)<<3);d[a>>2]|=128<<((a&3)<<3);d[b-2]=e<<3;e=d}for(var f=0,m=e.length;f<m;f+=16)0===f?(b=e[f+0]-680876937,b=(b<<7|b>>>25)-271733879<<0,c=e[f+1]-117830708+(2004318071&b^-1732584194),c=(c<<12|c>>>20)+b<<0,a=e[f+2]-1126478375+((b^-271733879)&c^-271733879),a=(a<<17|a>>>15)+c<<0,d=e[f+3]-1316259209+((c^b)&a^b)):(b=k,d=n,a=p,c=q,b+=(c^d&(a^c))+e[f+0]-680876936,
|
1023),k[h++]=240|b>>18,k[h++]=128|b>>12&63),k[h++]=128|b>>6&63),k[h++]=128|b&63);h=k.length}else h=n.length;do{if(64<h-g)if(v)if(m)for(a=0;64>a;++a)m[a]=k[g++];else for(a=0;16>a;++a)e[a]=k[g++]|k[g++]<<8|k[g++]<<16|k[g++]<<24;else if(m)for(a=0;64>a;++a)m[a]=n.charCodeAt(g++);else for(a=0;16>a;++a)e[a]=n.charCodeAt(g++)|n.charCodeAt(g++)<<8|n.charCodeAt(g++)<<16|n.charCodeAt(g++)<<24;else{e[0]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0;if(v)if(m)for(a=0;g<h;++g,
|
||||||
b=(b<<7|b>>>25)+d<<0,c+=(a^b&(d^a))+e[f+1]-389564586,c=(c<<12|c>>>20)+b<<0,a+=(d^c&(b^d))+e[f+2]+606105819,a=(a<<17|a>>>15)+c<<0,d+=(b^a&(c^b))+e[f+3]-1044525330),d=(d<<22|d>>>10)+a<<0,b+=(c^d&(a^c))+e[f+4]-176418897,b=(b<<7|b>>>25)+d<<0,c+=(a^b&(d^a))+e[f+5]+1200080426,c=(c<<12|c>>>20)+b<<0,a+=(d^c&(b^d))+e[f+6]-1473231341,a=(a<<17|a>>>15)+c<<0,d+=(b^a&(c^b))+e[f+7]-45705983,d=(d<<22|d>>>10)+a<<0,b+=(c^d&(a^c))+e[f+8]+1770035416,b=(b<<7|b>>>25)+d<<0,c+=(a^b&(d^a))+e[f+9]-1958414417,c=(c<<12|c>>>
|
++a)m[a]=k[g];else for(a=0;g<h;++g,++a)e[a>>2]|=k[g]<<((a&3)<<3);else if(m)for(a=0;g<h;++g,++a)m[a]=n.charCodeAt(g);else for(a=0;g<h;++g,++a)e[a>>2]|=n.charCodeAt(g)<<((a&3)<<3);e[a>>2]|=128<<((a&3)<<3);e[14]=h<<3}64===g?(a=e[0]-680876937<<0,a=(a<<7|a>>>25)-271733879<<0,c=e[1]-117830708+(2004318071&a^-1732584194)<<0,c=(c<<12|c>>>20)+a<<0,d=e[2]-1126478375+((a^-271733879)&c^-271733879)<<0,d=(d<<17|d>>>15)+c<<0,b=e[3]-1316259209+((c^a)&d^a)<<0):(a=q,b=r,d=l,c=t,a+=(c^b&(d^c))+e[0]-680876936<<0,a=(a<<
|
||||||
20)+b<<0,a+=(d^c&(b^d))+e[f+10]-42063,a=(a<<17|a>>>15)+c<<0,d+=(b^a&(c^b))+e[f+11]-1990404162,d=(d<<22|d>>>10)+a<<0,b+=(c^d&(a^c))+e[f+12]+1804603682,b=(b<<7|b>>>25)+d<<0,c+=(a^b&(d^a))+e[f+13]-40341101,c=(c<<12|c>>>20)+b<<0,a+=(d^c&(b^d))+e[f+14]-1502002290,a=(a<<17|a>>>15)+c<<0,d+=(b^a&(c^b))+e[f+15]+1236535329,d=(d<<22|d>>>10)+a<<0,b+=(a^c&(d^a))+e[f+1]-165796510,b=(b<<5|b>>>27)+d<<0,c+=(d^a&(b^d))+e[f+6]-1069501632,c=(c<<9|c>>>23)+b<<0,a+=(b^d&(c^b))+e[f+11]+643717713,a=(a<<14|a>>>18)+c<<0,d+=
|
7|a>>>25)+b<<0,c+=(d^a&(b^d))+e[1]-389564586<<0,c=(c<<12|c>>>20)+a<<0,d+=(b^c&(a^b))+e[2]+606105819<<0,d=(d<<17|d>>>15)+c<<0,b+=(a^d&(c^a))+e[3]-1044525330<<0);b=(b<<22|b>>>10)+d<<0;a+=(c^b&(d^c))+e[4]-176418897<<0;a=(a<<7|a>>>25)+b<<0;c+=(d^a&(b^d))+e[5]+1200080426<<0;c=(c<<12|c>>>20)+a<<0;d+=(b^c&(a^b))+e[6]-1473231341<<0;d=(d<<17|d>>>15)+c<<0;b+=(a^d&(c^a))+e[7]-45705983<<0;b=(b<<22|b>>>10)+d<<0;a+=(c^b&(d^c))+e[8]+1770035416<<0;a=(a<<7|a>>>25)+b<<0;c+=(d^a&(b^d))+e[9]-1958414417<<0;c=(c<<12|c>>>
|
||||||
(c^b&(a^c))+e[f+0]-373897302,d=(d<<20|d>>>12)+a<<0,b+=(a^c&(d^a))+e[f+5]-701558691,b=(b<<5|b>>>27)+d<<0,c+=(d^a&(b^d))+e[f+10]+38016083,c=(c<<9|c>>>23)+b<<0,a+=(b^d&(c^b))+e[f+15]-660478335,a=(a<<14|a>>>18)+c<<0,d+=(c^b&(a^c))+e[f+4]-405537848,d=(d<<20|d>>>12)+a<<0,b+=(a^c&(d^a))+e[f+9]+568446438,b=(b<<5|b>>>27)+d<<0,c+=(d^a&(b^d))+e[f+14]-1019803690,c=(c<<9|c>>>23)+b<<0,a+=(b^d&(c^b))+e[f+3]-187363961,a=(a<<14|a>>>18)+c<<0,d+=(c^b&(a^c))+e[f+8]+1163531501,d=(d<<20|d>>>12)+a<<0,b+=(a^c&(d^a))+e[f+
|
20)+a<<0;d+=(b^c&(a^b))+e[10]-42063<<0;d=(d<<17|d>>>15)+c<<0;b+=(a^d&(c^a))+e[11]-1990404162<<0;b=(b<<22|b>>>10)+d<<0;a+=(c^b&(d^c))+e[12]+1804603682<<0;a=(a<<7|a>>>25)+b<<0;c+=(d^a&(b^d))+e[13]-40341101<<0;c=(c<<12|c>>>20)+a<<0;d+=(b^c&(a^b))+e[14]-1502002290<<0;d=(d<<17|d>>>15)+c<<0;b+=(a^d&(c^a))+e[15]+1236535329<<0;b=(b<<22|b>>>10)+d<<0;a+=(d^c&(b^d))+e[1]-165796510<<0;a=(a<<5|a>>>27)+b<<0;c+=(b^d&(a^b))+e[6]-1069501632<<0;c=(c<<9|c>>>23)+a<<0;d+=(a^b&(c^a))+e[11]+643717713<<0;d=(d<<14|d>>>18)+
|
||||||
13]-1444681467,b=(b<<5|b>>>27)+d<<0,c+=(d^a&(b^d))+e[f+2]-51403784,c=(c<<9|c>>>23)+b<<0,a+=(b^d&(c^b))+e[f+7]+1735328473,a=(a<<14|a>>>18)+c<<0,d+=(c^b&(a^c))+e[f+12]-1926607734,d=(d<<20|d>>>12)+a<<0,g=d^a,b+=(g^c)+e[f+5]-378558,b=(b<<4|b>>>28)+d<<0,g=d^a,c+=(g^b)+e[f+8]-2022574463,c=(c<<11|c>>>21)+b<<0,g=c^b,a+=(g^d)+e[f+11]+1839030562,a=(a<<16|a>>>16)+c<<0,g=c^b,d+=(g^a)+e[f+14]-35309556,d=(d<<23|d>>>9)+a<<0,g=d^a,b+=(g^c)+e[f+1]-1530992060,b=(b<<4|b>>>28)+d<<0,g=d^a,c+=(g^b)+e[f+4]+1272893353,c=
|
c<<0;b+=(c^a&(d^c))+e[0]-373897302<<0;b=(b<<20|b>>>12)+d<<0;a+=(d^c&(b^d))+e[5]-701558691<<0;a=(a<<5|a>>>27)+b<<0;c+=(b^d&(a^b))+e[10]+38016083<<0;c=(c<<9|c>>>23)+a<<0;d+=(a^b&(c^a))+e[15]-660478335<<0;d=(d<<14|d>>>18)+c<<0;b+=(c^a&(d^c))+e[4]-405537848<<0;b=(b<<20|b>>>12)+d<<0;a+=(d^c&(b^d))+e[9]+568446438<<0;a=(a<<5|a>>>27)+b<<0;c+=(b^d&(a^b))+e[14]-1019803690<<0;c=(c<<9|c>>>23)+a<<0;d+=(a^b&(c^a))+e[3]-187363961<<0;d=(d<<14|d>>>18)+c<<0;b+=(c^a&(d^c))+e[8]+1163531501<<0;b=(b<<20|b>>>12)+d<<0;a+=
|
||||||
(c<<11|c>>>21)+b<<0,g=c^b,a+=(g^d)+e[f+7]-155497632,a=(a<<16|a>>>16)+c<<0,g=c^b,d+=(g^a)+e[f+10]-1094730640,d=(d<<23|d>>>9)+a<<0,g=d^a,b+=(g^c)+e[f+13]+681279174,b=(b<<4|b>>>28)+d<<0,g=d^a,c+=(g^b)+e[f+0]-358537222,c=(c<<11|c>>>21)+b<<0,g=c^b,a+=(g^d)+e[f+3]-722521979,a=(a<<16|a>>>16)+c<<0,g=c^b,d+=(g^a)+e[f+6]+76029189,d=(d<<23|d>>>9)+a<<0,g=d^a,b+=(g^c)+e[f+9]-640364487,b=(b<<4|b>>>28)+d<<0,g=d^a,c+=(g^b)+e[f+12]-421815835,c=(c<<11|c>>>21)+b<<0,g=c^b,a+=(g^d)+e[f+15]+530742520,a=(a<<16|a>>>16)+
|
(d^c&(b^d))+e[13]-1444681467<<0;a=(a<<5|a>>>27)+b<<0;c+=(b^d&(a^b))+e[2]-51403784<<0;c=(c<<9|c>>>23)+a<<0;d+=(a^b&(c^a))+e[7]+1735328473<<0;d=(d<<14|d>>>18)+c<<0;b+=(c^a&(d^c))+e[12]-1926607734<<0;b=(b<<20|b>>>12)+d<<0;f=b^d;a+=(f^c)+e[5]-378558<<0;a=(a<<4|a>>>28)+b<<0;f=b^d;c+=(f^a)+e[8]-2022574463<<0;c=(c<<11|c>>>21)+a<<0;f=c^a;d+=(f^b)+e[11]+1839030562<<0;d=(d<<16|d>>>16)+c<<0;f=c^a;b+=(f^d)+e[14]-35309556<<0;b=(b<<23|b>>>9)+d<<0;f=b^d;a+=(f^c)+e[1]-1530992060<<0;a=(a<<4|a>>>28)+b<<0;f=b^d;c+=
|
||||||
c<<0,g=c^b,d+=(g^a)+e[f+2]-995338651,d=(d<<23|d>>>9)+a<<0,b+=(a^(d|~c))+e[f+0]-198630844,b=(b<<6|b>>>26)+d<<0,c+=(d^(b|~a))+e[f+7]+1126891415,c=(c<<10|c>>>22)+b<<0,a+=(b^(c|~d))+e[f+14]-1416354905,a=(a<<15|a>>>17)+c<<0,d+=(c^(a|~b))+e[f+5]-57434055,d=(d<<21|d>>>11)+a<<0,b+=(a^(d|~c))+e[f+12]+1700485571,b=(b<<6|b>>>26)+d<<0,c+=(d^(b|~a))+e[f+3]-1894986606,c=(c<<10|c>>>22)+b<<0,a+=(b^(c|~d))+e[f+10]-1051523,a=(a<<15|a>>>17)+c<<0,d+=(c^(a|~b))+e[f+1]-2054922799,d=(d<<21|d>>>11)+a<<0,b+=(a^(d|~c))+e[f+
|
(f^a)+e[4]+1272893353<<0;c=(c<<11|c>>>21)+a<<0;f=c^a;d+=(f^b)+e[7]-155497632<<0;d=(d<<16|d>>>16)+c<<0;f=c^a;b+=(f^d)+e[10]-1094730640<<0;b=(b<<23|b>>>9)+d<<0;f=b^d;a+=(f^c)+e[13]+681279174<<0;a=(a<<4|a>>>28)+b<<0;f=b^d;c+=(f^a)+e[0]-358537222<<0;c=(c<<11|c>>>21)+a<<0;f=c^a;d+=(f^b)+e[3]-722521979<<0;d=(d<<16|d>>>16)+c<<0;f=c^a;b+=(f^d)+e[6]+76029189<<0;b=(b<<23|b>>>9)+d<<0;f=b^d;a+=(f^c)+e[9]-640364487<<0;a=(a<<4|a>>>28)+b<<0;f=b^d;c+=(f^a)+e[12]-421815835<<0;c=(c<<11|c>>>21)+a<<0;f=c^a;d+=(f^b)+
|
||||||
8]+1873313359,b=(b<<6|b>>>26)+d<<0,c+=(d^(b|~a))+e[f+15]-30611744,c=(c<<10|c>>>22)+b<<0,a+=(b^(c|~d))+e[f+6]-1560198380,a=(a<<15|a>>>17)+c<<0,d+=(c^(a|~b))+e[f+13]+1309151649,d=(d<<21|d>>>11)+a<<0,b+=(a^(d|~c))+e[f+4]-145523070,b=(b<<6|b>>>26)+d<<0,c+=(d^(b|~a))+e[f+11]-1120210379,c=(c<<10|c>>>22)+b<<0,a+=(b^(c|~d))+e[f+2]+718787259,a=(a<<15|a>>>17)+c<<0,d+=(c^(a|~b))+e[f+9]-343485551,d=(d<<21|d>>>11)+a<<0,k=k+b<<0,n=n+d<<0,p=p+a<<0,q=q+c<<0;return r(k)+r(n)+r(p)+r(q)},r=function(h){for(var l="",
|
e[15]+530742520<<0;d=(d<<16|d>>>16)+c<<0;f=c^a;b+=(f^d)+e[2]-995338651<<0;b=(b<<23|b>>>9)+d<<0;a+=(d^(b|~c))+e[0]-198630844<<0;a=(a<<6|a>>>26)+b<<0;c+=(b^(a|~d))+e[7]+1126891415<<0;c=(c<<10|c>>>22)+a<<0;d+=(a^(c|~b))+e[14]-1416354905<<0;d=(d<<15|d>>>17)+c<<0;b+=(c^(d|~a))+e[5]-57434055<<0;b=(b<<21|b>>>11)+d<<0;a+=(d^(b|~c))+e[12]+1700485571<<0;a=(a<<6|a>>>26)+b<<0;c+=(b^(a|~d))+e[3]-1894986606<<0;c=(c<<10|c>>>22)+a<<0;d+=(a^(c|~b))+e[10]-1051523<<0;d=(d<<15|d>>>17)+c<<0;b+=(c^(d|~a))+e[1]-2054922799<<
|
||||||
e=0;4>e;e++)var k=e<<3,l=l+(t[h>>k+4&15]+t[h>>k&15]);return l};"undefined"!=typeof module?module.exports=u:m&&(m.md5=u)})(this);
|
0;b=(b<<21|b>>>11)+d<<0;a+=(d^(b|~c))+e[8]+1873313359<<0;a=(a<<6|a>>>26)+b<<0;c+=(b^(a|~d))+e[15]-30611744<<0;c=(c<<10|c>>>22)+a<<0;d+=(a^(c|~b))+e[6]-1560198380<<0;d=(d<<15|d>>>17)+c<<0;b+=(c^(d|~a))+e[13]+1309151649<<0;b=(b<<21|b>>>11)+d<<0;a+=(d^(b|~c))+e[4]-145523070<<0;a=(a<<6|a>>>26)+b<<0;c+=(b^(a|~d))+e[11]-1120210379<<0;c=(c<<10|c>>>22)+a<<0;d+=(a^(c|~b))+e[2]+718787259<<0;d=(d<<15|d>>>17)+c<<0;b+=(c^(d|~a))+e[9]-343485551<<0;b=(b<<21|b>>>11)+d<<0;q=q+a<<0;r=r+b<<0;l=l+d<<0;t=t+c<<0}while(g<
|
||||||
|
h);return u(q)+u(r)+u(l)+u(t)},u=function(e){for(var l="",m=0;4>m;m++)var p=m<<3,l=l+(w[e>>p+4&15]+w[e>>p&15]);return l};p.JS_MD5_TEST||"undefined"==typeof module?p&&(p.md5=l):module.exports=l})(this);
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
md5 = require('../src/md5.js');
|
md5 = require('../src/md5.js');
|
||||||
expect = require('expect.js');
|
expect = require('expect.js');
|
||||||
|
testName = 'default';
|
||||||
|
require('./test.js');
|
||||||
|
|
||||||
|
delete require.cache[require.resolve('../src/md5.js')]
|
||||||
|
delete require.cache[require.resolve('./test.js')]
|
||||||
|
md5 = null
|
||||||
|
|
||||||
|
JS_MD5_TEST = true;
|
||||||
|
testName = 'without ArrayBuffer';
|
||||||
|
base64 = require('../src/md5.js');
|
||||||
require('./test.js');
|
require('./test.js');
|
||||||
|
Loading…
Reference in New Issue