26 lines
8.4 KiB
JavaScript
26 lines
8.4 KiB
JavaScript
/*
|
|
CryptoJS v3.0.2
|
|
code.google.com/p/crypto-js
|
|
(c) 2009-2012 by Jeff Mott. All rights reserved.
|
|
code.google.com/p/crypto-js/wiki/License
|
|
*/
|
|
var CryptoJS=CryptoJS||function(a,b){var c={},g=c.lib={},l=g.Base=function(){function a(){}return{extend:function(d){a.prototype=this;var f=new a;d&&f.mixIn(d);f.$super=this;return f},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var k in a)a.hasOwnProperty(k)&&(this[k]=a[k]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.$super.extend(this)}}}(),t=g.WordArray=l.extend({init:function(a,d){a=
|
|
this.words=a||[];this.sigBytes=d!=b?d:4*a.length},toString:function(a){return(a||w).stringify(this)},concat:function(a){var d=this.words,f=a.words,e=this.sigBytes,a=a.sigBytes;this.clamp();if(e%4)for(var i=0;i<a;i++)d[e+i>>>2]|=(f[i>>>2]>>>24-8*(i%4)&255)<<24-8*((e+i)%4);else if(65535<f.length)for(i=0;i<a;i+=4)d[e+i>>>2]=f[i>>>2];else d.push.apply(d,f);this.sigBytes+=a;return this},clamp:function(){var k=this.words,d=this.sigBytes;k[d>>>2]&=4294967295<<32-8*(d%4);k.length=a.ceil(d/4)},clone:function(){var a=
|
|
l.clone.call(this);a.words=this.words.slice(0);return a},random:function(k){for(var d=[],f=0;f<k;f+=4)d.push(4294967296*a.random()|0);return t.create(d,k)}}),C=c.enc={},w=C.Hex={stringify:function(a){for(var d=a.words,a=a.sigBytes,f=[],e=0;e<a;e++){var i=d[e>>>2]>>>24-8*(e%4)&255;f.push((i>>>4).toString(16));f.push((i&15).toString(16))}return f.join("")},parse:function(a){for(var d=a.length,f=[],e=0;e<d;e+=2)f[e>>>3]|=parseInt(a.substr(e,2),16)<<24-4*(e%8);return t.create(f,d/2)}},m=C.Latin1={stringify:function(a){for(var d=
|
|
a.words,a=a.sigBytes,f=[],e=0;e<a;e++)f.push(String.fromCharCode(d[e>>>2]>>>24-8*(e%4)&255));return f.join("")},parse:function(a){for(var d=a.length,f=[],e=0;e<d;e++)f[e>>>2]|=(a.charCodeAt(e)&255)<<24-8*(e%4);return t.create(f,d)}},ea=C.Utf8={stringify:function(a){try{return decodeURIComponent(escape(m.stringify(a)))}catch(d){throw Error("Malformed UTF-8 data");}},parse:function(a){return m.parse(unescape(encodeURIComponent(a)))}},T=g.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=
|
|
t.create();this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=ea.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(k){var d=this._data,f=d.words,e=d.sigBytes,i=this.blockSize,b=e/(4*i),b=k?a.ceil(b):a.max((b|0)-this._minBufferSize,0),k=b*i,e=a.min(4*k,e);if(k){for(var m=0;m<k;m+=i)this._doProcessBlock(f,m);m=f.splice(0,k);d.sigBytes-=e}return t.create(m,e)},clone:function(){var a=l.clone.call(this);a._data=this._data.clone();return a},_minBufferSize:0});g.Hasher=
|
|
T.extend({init:function(){this.reset()},reset:function(){T.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);this._doFinalize();return this._hash},clone:function(){var a=T.clone.call(this);a._hash=this._hash.clone();return a},blockSize:16,_createHelper:function(a){return function(d,f){return a.create(f).finalize(d)}},_createHmacHelper:function(a){return function(d,f){return fa.HMAC.create(a,f).finalize(d)}}});
|
|
var fa=c.algo={};return c}(Math);
|
|
(function(a){var b=CryptoJS,c=b.lib,g=c.Base,l=c.WordArray,b=b.x64={};b.Word=g.extend({init:function(a,b){this.high=a;this.low=b}});b.WordArray=g.extend({init:function(b,c){b=this.words=b||[];this.sigBytes=c!=a?c:8*b.length},toX32:function(){for(var a=this.words,b=a.length,c=[],m=0;m<b;m++){var g=a[m];c.push(g.high);c.push(g.low)}return l.create(c,this.sigBytes)},clone:function(){for(var a=g.clone.call(this),b=a.words=this.words.slice(0),c=b.length,m=0;m<c;m++)b[m]=b[m].clone();return a}})})();
|
|
(function(){function a(){return l.create.apply(l,arguments)}var b=CryptoJS,c=b.lib.Hasher,g=b.x64,l=g.Word,t=g.WordArray,g=b.algo,C=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),
|
|
a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,
|
|
2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),
|
|
a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,
|
|
3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],w=[];(function(){for(var b=0;80>b;b++)w[b]=a()})();g=g.SHA512=c.extend({_doReset:function(){this._hash=t.create([a(1779033703,4089235720),a(3144134277,2227873595),a(1013904242,4271175723),a(2773480762,1595750129),a(1359893119,2917565137),a(2600822924,725511199),a(528734635,4215389547),a(1541459225,327033209)])},_doProcessBlock:function(a,b){for(var c=this._hash.words,g=c[0],k=c[1],d=c[2],f=c[3],e=c[4],i=c[5],l=
|
|
c[6],c=c[7],t=g.high,J=g.low,X=k.high,K=k.low,Y=d.high,L=d.low,Z=f.high,M=f.low,$=e.high,N=e.low,aa=i.high,O=i.low,ba=l.high,P=l.low,ca=c.high,Q=c.low,q=t,n=J,D=X,A=K,E=Y,B=L,U=Z,F=M,r=$,o=N,R=aa,G=O,S=ba,H=P,V=ca,I=Q,s=0;80>s;s++){var x=w[s];if(16>s)var p=x.high=a[b+2*s]|0,h=x.low=a[b+2*s+1]|0;else{var p=w[s-15],h=p.high,u=p.low,p=(u<<31|h>>>1)^(u<<24|h>>>8)^h>>>7,u=(h<<31|u>>>1)^(h<<24|u>>>8)^(h<<25|u>>>7),z=w[s-2],h=z.high,j=z.low,z=(j<<13|h>>>19)^(h<<3|j>>>29)^h>>>6,j=(h<<13|j>>>19)^(j<<3|h>>>
|
|
29)^(h<<26|j>>>6),h=w[s-7],W=h.high,y=w[s-16],v=y.high,y=y.low,h=u+h.low,p=p+W+(h>>>0<u>>>0?1:0),h=h+j,p=p+z+(h>>>0<j>>>0?1:0),h=h+y,p=p+v+(h>>>0<y>>>0?1:0);x.high=p;x.low=h}var W=r&R^~r&S,y=o&G^~o&H,x=q&D^q&E^D&E,ga=n&A^n&B^A&B,u=(n<<4|q>>>28)^(q<<30|n>>>2)^(q<<25|n>>>7),z=(q<<4|n>>>28)^(n<<30|q>>>2)^(n<<25|q>>>7),j=C[s],ha=j.high,da=j.low,j=I+((r<<18|o>>>14)^(r<<14|o>>>18)^(o<<23|r>>>9)),v=V+((o<<18|r>>>14)^(o<<14|r>>>18)^(r<<23|o>>>9))+(j>>>0<I>>>0?1:0),j=j+y,v=v+W+(j>>>0<y>>>0?1:0),j=j+da,v=v+
|
|
ha+(j>>>0<da>>>0?1:0),j=j+h,v=v+p+(j>>>0<h>>>0?1:0),h=z+ga,x=u+x+(h>>>0<z>>>0?1:0),V=S,I=H,S=R,H=G,R=r,G=o,o=F+j|0,r=U+v+(o>>>0<F>>>0?1:0)|0,U=E,F=B,E=D,B=A,D=q,A=n,n=j+h|0,q=v+x+(n>>>0<j>>>0?1:0)|0}J=g.low=J+n|0;g.high=t+q+(J>>>0<n>>>0?1:0)|0;K=k.low=K+A|0;k.high=X+D+(K>>>0<A>>>0?1:0)|0;L=d.low=L+B|0;d.high=Y+E+(L>>>0<B>>>0?1:0)|0;M=f.low=M+F|0;f.high=Z+U+(M>>>0<F>>>0?1:0)|0;N=e.low=N+o|0;e.high=$+r+(N>>>0<o>>>0?1:0)|0;O=i.low=O+G|0;i.high=aa+R+(O>>>0<G>>>0?1:0)|0;P=l.low=P+H|0;l.high=ba+S+(P>>>
|
|
0<H>>>0?1:0)|0;Q=c.low=Q+I|0;c.high=ca+V+(Q>>>0<I>>>0?1:0)|0},_doFinalize:function(){var a=this._data,b=a.words,c=8*this._nDataBytes,g=8*a.sigBytes;b[g>>>5]|=128<<24-g%32;b[(g+128>>>10<<5)+31]=c;a.sigBytes=4*b.length;this._process();this._hash=this._hash.toX32()},blockSize:32});b.SHA512=c._createHelper(g);b.HmacSHA512=c._createHmacHelper(g)})();
|
|
(function(){var a=CryptoJS,b=a.x64,c=b.Word,g=b.WordArray,b=a.algo,l=b.SHA512,b=b.SHA384=l.extend({_doReset:function(){this._hash=g.create([c.create(3418070365,3238371032),c.create(1654270250,914150663),c.create(2438529370,812702999),c.create(355462360,4144912697),c.create(1731405415,4290775857),c.create(2394180231,1750603025),c.create(3675008525,1694076839),c.create(1203062813,3204075428)])},_doFinalize:function(){l._doFinalize.call(this);this._hash.sigBytes-=16}});a.SHA384=l._createHelper(b);a.HmacSHA384=
|
|
l._createHmacHelper(b)})();
|