wip javascript
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
CryptoJS v3.0.1
|
||||
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(n,l){var i={},j=i.lib={},k=j.Base=function(){function b(){}return{extend:function(p){b.prototype=this;var a=new b;p&&a.mixIn(p);a.$super=this;return a},create:function(){var b=this.extend();b.init.apply(b,arguments);return b},init:function(){},mixIn:function(b){for(var a in b)b.hasOwnProperty(a)&&(this[a]=b[a]);b.hasOwnProperty("toString")&&(this.toString=b.toString)},clone:function(){return this.$super.extend(this)}}}(),d=j.WordArray=k.extend({init:function(b,a){b=
|
||||
this.words=b||[];this.sigBytes=a!=l?a:4*b.length},toString:function(b){return(b||a).stringify(this)},concat:function(b){var a=this.words,c=b.words,g=this.sigBytes,b=b.sigBytes;this.clamp();if(g%4)for(var h=0;h<b;h++)a[g+h>>>2]|=(c[h>>>2]>>>24-8*(h%4)&255)<<24-8*((g+h)%4);else if(65535<c.length)for(h=0;h<b;h+=4)a[g+h>>>2]=c[h>>>2];else a.push.apply(a,c);this.sigBytes+=b;return this},clamp:function(){var b=this.words,a=this.sigBytes;b[a>>>2]&=4294967295<<32-8*(a%4);b.length=n.ceil(a/4)},clone:function(){var b=
|
||||
k.clone.call(this);b.words=this.words.slice(0);return b},random:function(b){for(var a=[],c=0;c<b;c+=4)a.push(4294967296*n.random()|0);return d.create(a,b)}}),e=i.enc={},a=e.Hex={stringify:function(b){for(var a=b.words,b=b.sigBytes,c=[],g=0;g<b;g++){var h=a[g>>>2]>>>24-8*(g%4)&255;c.push((h>>>4).toString(16));c.push((h&15).toString(16))}return c.join("")},parse:function(b){for(var a=b.length,c=[],g=0;g<a;g+=2)c[g>>>3]|=parseInt(b.substr(g,2),16)<<24-4*(g%8);return d.create(c,a/2)}},f=e.Latin1={stringify:function(b){for(var a=
|
||||
b.words,b=b.sigBytes,c=[],g=0;g<b;g++)c.push(String.fromCharCode(a[g>>>2]>>>24-8*(g%4)&255));return c.join("")},parse:function(b){for(var a=b.length,c=[],g=0;g<a;g++)c[g>>>2]|=(b.charCodeAt(g)&255)<<24-8*(g%4);return d.create(c,a)}},c=e.Utf8={stringify:function(b){try{return decodeURIComponent(escape(f.stringify(b)))}catch(a){throw Error("Malformed UTF-8 data");}},parse:function(b){return f.parse(unescape(encodeURIComponent(b)))}},o=j.BufferedBlockAlgorithm=k.extend({reset:function(){this._data=d.create();
|
||||
this._nDataBytes=0},_append:function(b){"string"==typeof b&&(b=c.parse(b));this._data.concat(b);this._nDataBytes+=b.sigBytes},_process:function(b){var a=this._data,c=a.words,g=a.sigBytes,h=this.blockSize,m=g/(4*h),m=b?n.ceil(m):n.max((m|0)-this._minBufferSize,0),b=m*h,g=n.min(4*b,g);if(b){for(var o=0;o<b;o+=h)this._doProcessBlock(c,o);o=c.splice(0,b);a.sigBytes-=g}return d.create(o,g)},clone:function(){var b=k.clone.call(this);b._data=this._data.clone();return b},_minBufferSize:0});j.Hasher=o.extend({init:function(){this.reset()},
|
||||
reset:function(){o.reset.call(this);this._doReset()},update:function(b){this._append(b);this._process();return this},finalize:function(b){b&&this._append(b);this._doFinalize();return this._hash},clone:function(){var b=o.clone.call(this);b._hash=this._hash.clone();return b},blockSize:16,_createHelper:function(b){return function(a,c){return b.create(c).finalize(a)}},_createHmacHelper:function(b){return function(a,c){return q.HMAC.create(b,c).finalize(a)}}});var q=i.algo={};return i}(Math);
|
||||
(function(){var n=CryptoJS,l=n.lib.WordArray;n.enc.Base64={stringify:function(i){var j=i.words,k=i.sigBytes,d=this._map;i.clamp();for(var i=[],e=0;e<k;e+=3)for(var a=(j[e>>>2]>>>24-8*(e%4)&255)<<16|(j[e+1>>>2]>>>24-8*((e+1)%4)&255)<<8|j[e+2>>>2]>>>24-8*((e+2)%4)&255,f=0;4>f&&e+0.75*f<k;f++)i.push(d.charAt(a>>>6*(3-f)&63));if(j=d.charAt(64))for(;i.length%4;)i.push(j);return i.join("")},parse:function(i){var j=i.length,k=this._map,d=k.charAt(64);d&&(d=i.indexOf(d),-1!=d&&(j=d));for(var d=[],e=0,a=0;a<
|
||||
j;a++)if(a%4){var f=k.indexOf(i.charAt(a-1))<<2*(a%4),c=k.indexOf(i.charAt(a))>>>6-2*(a%4);d[e>>>2]|=(f|c)<<24-8*(e%4);e++}return l.create(d,e)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();
|
||||
(function(n){function l(a,c,b,d,f,g,h){a=a+(c&b|~c&d)+f+h;return(a<<g|a>>>32-g)+c}function i(a,c,b,d,f,g,h){a=a+(c&d|b&~d)+f+h;return(a<<g|a>>>32-g)+c}function j(a,c,b,d,f,g,h){a=a+(c^b^d)+f+h;return(a<<g|a>>>32-g)+c}function k(a,c,b,d,f,g,h){a=a+(b^(c|~d))+f+h;return(a<<g|a>>>32-g)+c}var d=CryptoJS,e=d.lib,a=e.WordArray,e=e.Hasher,f=d.algo,c=[];(function(){for(var a=0;64>a;a++)c[a]=4294967296*n.abs(n.sin(a+1))|0})();f=f.MD5=e.extend({_doReset:function(){this._hash=a.create([1732584193,4023233417,
|
||||
2562383102,271733878])},_doProcessBlock:function(a,d){for(var b=0;16>b;b++){var f=d+b,e=a[f];a[f]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360}for(var f=this._hash.words,e=f[0],g=f[1],h=f[2],m=f[3],b=0;64>b;b+=4)16>b?(e=l(e,g,h,m,a[d+b],7,c[b]),m=l(m,e,g,h,a[d+b+1],12,c[b+1]),h=l(h,m,e,g,a[d+b+2],17,c[b+2]),g=l(g,h,m,e,a[d+b+3],22,c[b+3])):32>b?(e=i(e,g,h,m,a[d+(b+1)%16],5,c[b]),m=i(m,e,g,h,a[d+(b+6)%16],9,c[b+1]),h=i(h,m,e,g,a[d+(b+11)%16],14,c[b+2]),g=i(g,h,m,e,a[d+b%16],20,c[b+3])):48>b?(e=
|
||||
j(e,g,h,m,a[d+(3*b+5)%16],4,c[b]),m=j(m,e,g,h,a[d+(3*b+8)%16],11,c[b+1]),h=j(h,m,e,g,a[d+(3*b+11)%16],16,c[b+2]),g=j(g,h,m,e,a[d+(3*b+14)%16],23,c[b+3])):(e=k(e,g,h,m,a[d+3*b%16],6,c[b]),m=k(m,e,g,h,a[d+(3*b+7)%16],10,c[b+1]),h=k(h,m,e,g,a[d+(3*b+14)%16],15,c[b+2]),g=k(g,h,m,e,a[d+(3*b+5)%16],21,c[b+3]));f[0]=f[0]+e|0;f[1]=f[1]+g|0;f[2]=f[2]+h|0;f[3]=f[3]+m|0},_doFinalize:function(){var a=this._data,c=a.words,b=8*this._nDataBytes,d=8*a.sigBytes;c[d>>>5]|=128<<24-d%32;c[(d+64>>>9<<4)+14]=(b<<8|b>>>
|
||||
24)&16711935|(b<<24|b>>>8)&4278255360;a.sigBytes=4*(c.length+1);this._process();a=this._hash.words;for(c=0;4>c;c++)b=a[c],a[c]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360}});d.MD5=e._createHelper(f);d.HmacMD5=e._createHmacHelper(f)})(Math);
|
||||
(function(){var n=CryptoJS,l=n.lib,i=l.Base,j=l.WordArray,l=n.algo,k=l.EvpKDF=i.extend({cfg:i.extend({keySize:4,hasher:l.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,e){for(var a=this.cfg,f=a.hasher.create(),c=j.create(),i=c.words,k=a.keySize,a=a.iterations;i.length<k;){b&&f.update(b);var b=f.update(d).finalize(e);f.reset();for(var l=1;l<a;l++)b=f.finalize(b),f.reset();c.concat(b)}c.sigBytes=4*k;return c}});n.EvpKDF=function(d,e,a){return k.create(a).compute(d,
|
||||
e)}})();
|
||||
CryptoJS.lib.Cipher||function(n){var l=CryptoJS,i=l.lib,j=i.Base,k=i.WordArray,d=i.BufferedBlockAlgorithm,e=l.enc.Base64,a=l.algo.EvpKDF,f=i.Cipher=d.extend({cfg:j.extend(),createEncryptor:function(a,b){return this.create(this._ENC_XFORM_MODE,a,b)},createDecryptor:function(a,b){return this.create(this._DEC_XFORM_MODE,a,b)},init:function(a,b,c){this.cfg=this.cfg.extend(c);this._xformMode=a;this._key=b;this.reset()},reset:function(){d.reset.call(this);this._doReset()},process:function(a){this._append(a);return this._process()},
|
||||
finalize:function(a){a&&this._append(a);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(a){return{encrypt:function(b,c,d){return("string"==typeof c?r:p).encrypt(a,b,c,d)},decrypt:function(b,c,d){return("string"==typeof c?r:p).decrypt(a,b,c,d)}}}}()});i.StreamCipher=f.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var c=l.mode={},o=i.BlockCipherMode=j.extend({createEncryptor:function(a,b){return this.Encryptor.create(a,
|
||||
b)},createDecryptor:function(a,b){return this.Decryptor.create(a,b)},init:function(a,b){this._cipher=a;this._iv=b}}),c=c.CBC=function(){function a(b,c,g){var d=this._iv;d?this._iv=n:d=this._prevBlock;for(var f=0;f<g;f++)b[c+f]^=d[f]}var b=o.extend();b.Encryptor=b.extend({processBlock:function(b,c){var d=this._cipher,f=d.blockSize;a.call(this,b,c,f);d.encryptBlock(b,c);this._prevBlock=b.slice(c,c+f)}});b.Decryptor=b.extend({processBlock:function(b,c){var d=this._cipher,f=d.blockSize,h=b.slice(c,c+
|
||||
f);d.decryptBlock(b,c);a.call(this,b,c,f);this._prevBlock=h}});return b}(),q=(l.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,f=[],e=0;e<c;e+=4)f.push(d);c=k.create(f,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};i.BlockCipher=f.extend({cfg:f.cfg.extend({mode:c,padding:q}),reset:function(){f.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,
|
||||
this._minBufferSize=1;this._mode=c.call(a,this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var b=i.CipherParams=j.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),c=(l.format={}).OpenSSL={stringify:function(a){var b=
|
||||
a.ciphertext,a=a.salt;return(a?k.create([1398893684,1701076831]).concat(a).concat(b):b).toString(e)},parse:function(a){var a=e.parse(a),c=a.words;if(1398893684==c[0]&&1701076831==c[1]){var d=k.create(c.slice(2,4));c.splice(0,4);a.sigBytes-=16}return b.create({ciphertext:a,salt:d})}},p=i.SerializableCipher=j.extend({cfg:j.extend({format:c}),encrypt:function(a,c,d,f){var f=this.cfg.extend(f),e=a.createEncryptor(d,f),c=e.finalize(c),e=e.cfg;return b.create({ciphertext:c,key:d,iv:e.iv,algorithm:a,mode:e.mode,
|
||||
padding:e.padding,blockSize:a.blockSize,formatter:f.format})},decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),l=(l.kdf={}).OpenSSL={execute:function(c,d,f,e){e||(e=k.random(8));c=a.create({keySize:d+f}).compute(c,e);f=k.create(c.words.slice(d),4*f);c.sigBytes=4*d;return b.create({key:c,iv:f,salt:e})}},r=i.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:l}),
|
||||
encrypt:function(a,b,c,d){d=this.cfg.extend(d);c=d.kdf.execute(c,a.keySize,a.ivSize);d.iv=c.iv;a=p.encrypt.call(this,a,b,c.key,d);a.mixIn(c);return a},decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);c=d.kdf.execute(c,a.keySize,a.ivSize,b.salt);d.iv=c.iv;return p.decrypt.call(this,a,b,c.key,d)}})}();
|
||||
(function(){function n(){for(var a=this._X,f=this._C,c=0;8>c;c++)k[c]=f[c];f[0]=f[0]+1295307597+this._b|0;f[1]=f[1]+3545052371+(f[0]>>>0<k[0]>>>0?1:0)|0;f[2]=f[2]+886263092+(f[1]>>>0<k[1]>>>0?1:0)|0;f[3]=f[3]+1295307597+(f[2]>>>0<k[2]>>>0?1:0)|0;f[4]=f[4]+3545052371+(f[3]>>>0<k[3]>>>0?1:0)|0;f[5]=f[5]+886263092+(f[4]>>>0<k[4]>>>0?1:0)|0;f[6]=f[6]+1295307597+(f[5]>>>0<k[5]>>>0?1:0)|0;f[7]=f[7]+3545052371+(f[6]>>>0<k[6]>>>0?1:0)|0;this._b=f[7]>>>0<k[7]>>>0?1:0;for(c=0;8>c;c++){var e=a[c]+f[c],i=e&65535,
|
||||
b=e>>>16;d[c]=((i*i>>>17)+i*b>>>15)+b*b^((e&4294901760)*e|0)+((e&65535)*e|0)}a[0]=d[0]+(d[7]<<16|d[7]>>>16)+(d[6]<<16|d[6]>>>16)|0;a[1]=d[1]+(d[0]<<8|d[0]>>>24)+d[7]|0;a[2]=d[2]+(d[1]<<16|d[1]>>>16)+(d[0]<<16|d[0]>>>16)|0;a[3]=d[3]+(d[2]<<8|d[2]>>>24)+d[1]|0;a[4]=d[4]+(d[3]<<16|d[3]>>>16)+(d[2]<<16|d[2]>>>16)|0;a[5]=d[5]+(d[4]<<8|d[4]>>>24)+d[3]|0;a[6]=d[6]+(d[5]<<16|d[5]>>>16)+(d[4]<<16|d[4]>>>16)|0;a[7]=d[7]+(d[6]<<8|d[6]>>>24)+d[5]|0}var l=CryptoJS,i=l.lib.StreamCipher,j=[],k=[],d=[],e=l.algo.Rabbit=
|
||||
i.extend({_doReset:function(){for(var a=this._key.words,d=this.cfg.iv,c=this._X=[a[0],a[3]<<16|a[2]>>>16,a[1],a[0]<<16|a[3]>>>16,a[2],a[1]<<16|a[0]>>>16,a[3],a[2]<<16|a[1]>>>16],a=this._C=[a[2]<<16|a[2]>>>16,a[0]&4294901760|a[1]&65535,a[3]<<16|a[3]>>>16,a[1]&4294901760|a[2]&65535,a[0]<<16|a[0]>>>16,a[2]&4294901760|a[3]&65535,a[1]<<16|a[1]>>>16,a[3]&4294901760|a[0]&65535],e=this._b=0;4>e;e++)n.call(this);for(e=0;8>e;e++)a[e]^=c[e+4&7];if(d){var c=d.words,d=c[0],c=c[1],d=(d<<8|d>>>24)&16711935|(d<<
|
||||
24|d>>>8)&4278255360,c=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360,e=d>>>16|c&4294901760,i=c<<16|d&65535;a[0]^=d;a[1]^=e;a[2]^=c;a[3]^=i;a[4]^=d;a[5]^=e;a[6]^=c;a[7]^=i;for(e=0;4>e;e++)n.call(this)}},_doProcessBlock:function(a,d){var c=this._X;n.call(this);j[0]=c[0]^c[5]>>>16^c[3]<<16;j[1]=c[2]^c[7]>>>16^c[5]<<16;j[2]=c[4]^c[1]>>>16^c[7]<<16;j[3]=c[6]^c[3]>>>16^c[1]<<16;for(c=0;4>c;c++)j[c]=(j[c]<<8|j[c]>>>24)&16711935|(j[c]<<24|j[c]>>>8)&4278255360,a[d+c]^=j[c]},blockSize:4,ivSize:2});l.Rabbit=
|
||||
i._createHelper(e)})();
|
||||
Reference in New Issue
Block a user