fork download
  1. __d("javascript-blowfish-1.0.5",[],(function(a,b,c,d,e,f){"use strict";b={};var g={exports:b};function h(){var a=function(b,c){this.key=b,(c==="ecb"||c==="cbc")&&(this.mode=c),this.sBox0=a.sBox0.slice(),this.sBox1=a.sBox1.slice(),this.sBox2=a.sBox2.slice(),this.sBox3=a.sBox3.slice(),this.pArray=a.pArray.slice(),this.generateSubkeys(b)};a.prototype={sBox0:null,sBox1:null,sBox2:null,sBox3:null,pArray:null,key:null,mode:"ecb",iv:"abc12345",keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encrypt:function(a,b){if(this.mode==="ecb")return this.encryptECB(a);if(this.mode==="cbc")return this.encryptCBC(a,b);throw new Error("\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f.")},decrypt:function(a,b){if(this.mode==="ecb")return this.decryptECB(a);if(this.mode==="cbc")return this.decryptCBC(a,b);throw new Error("\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f.")},encryptECB:function(a){a=this.utf8Decode(a);var b=Math.ceil(a.length/8),c="";for(var d=0;d<b;d++){var e=a.substr(d*8,8);if(e.length<8){var f=8-e.length;while(0<f--)e+="\0"}var g;f=this.split64by32(e);e=f[0];g=f[1];f=this.encipher(e,g);e=f[0];g=f[1];c+=this.num2block32(e)+this.num2block32(g)}return c},encryptCBC:function(a,b){a=this.utf8Decode(a);var c=Math.ceil(a.length/8),d;b=this.split64by32(b);d=b[0];b=b[1];var e="";for(var f=0;f<c;f++){var g=a.substr(f*8,8);if(g.length<8){var h=8-g.length;while(0<h--)g+="\0"}var i;h=this.split64by32(g);g=h[0];i=h[1];g=this.xor(g,d);i=this.xor(i,b);h=this.encipher(g,i);g=h[0];i=h[1];d=g;b=i;e+=this.num2block32(g)+this.num2block32(i)}return e},decryptECB:function(a){var b=Math.ceil(a.length/8),c="";for(var d=0;d<b;d++){var e=a.substr(d*8,8);if(e.length<8)throw new Error("\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0430: \u0434\u043b\u0438\u043d\u043d\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u0440\u0430\u0442\u043d\u0430 8 \u0431\u0430\u044b\u0439\u0442\u0430\u043c.");var f,g;e=this.split64by32(e);f=e[0];g=e[1];e=this.decipher(f,g);f=e[0];g=e[1];c+=this.num2block32(f)+this.num2block32(g)}c=this.utf8Encode(c);return c},decryptCBC:function(a,b){var c=Math.ceil(a.length/8),d,e,f;b=this.split64by32(b);d=b[0];b=b[1];var g="";for(var h=0;h<c;h++){var i=a.substr(h*8,8);if(i.length<8)throw new Error("\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0430: \u0434\u043b\u0438\u043d\u043d\u0430 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u0440\u0430\u0442\u043d\u0430 8 \u0431\u0430\u0439\u0442\u0430\u043c.");var j,k;i=this.split64by32(i);j=i[0];k=i[1];e=j;f=k;i=this.decipher(j,k);j=i[0];k=i[1];j=this.xor(j,d);k=this.xor(k,b);d=e;b=f;g+=this.num2block32(j)+this.num2block32(k)}g=this.utf8Encode(g);return g},F:function(a){var b=a>>>24,c=a<<8>>>24,d=a<<16>>>24;a=a<<24>>>24;b=this.addMod32(this.sBox0[b],this.sBox1[c]);b=this.xor(b,this.sBox2[d]);b=this.addMod32(b,this.sBox3[a]);return b},encipher:function(a,b){var c;for(var d=0;d<16;d++)a=this.xor(a,this.pArray[d]),b=this.xor(this.F(a),b),c=a,a=b,b=c;c=a;a=b;b=c;b=this.xor(b,this.pArray[16]);a=this.xor(a,this.pArray[17]);return[a,b]},decipher:function(a,b){var c;a=this.xor(a,this.pArray[17]);b=this.xor(b,this.pArray[16]);c=a;a=b;b=c;for(var d=15;d>=0;d--)c=a,a=b,b=c,b=this.xor(this.F(a),b),a=this.xor(a,this.pArray[d]);return[a,b]},generateSubkeys:function(a){var b=0,c=0,d,e;for(d=0;d<18;d++){for(e=4;e>0;e--)b=this.fixNegative(b<<8|a.charCodeAt(c)),c=(c+1)%a.length;this.pArray[d]=this.xor(this.pArray[d],b);b=0}e=[0,0];for(d=0;d<18;d+=2)e=this.encipher(e[0],e[1]),this.pArray[d]=e[0],this.pArray[d+1]=e[1];for(d=0;d<256;d+=2)e=this.encipher(e[0],e[1]),this.sBox0[d]=e[0],this.sBox0[d+1]=e[1];for(d=0;d<256;d+=2)e=this.encipher(e[0],e[1]),this.sBox1[d]=e[0],this.sBox1[d+1]=e[1];for(d=0;d<256;d+=2)e=this.encipher(e[0],e[1]),this.sBox2[d]=e[0],this.sBox2[d+1]=e[1];for(d=0;d<256;d+=2)e=this.encipher(e[0],e[1]),this.sBox3[d]=e[0],this.sBox3[d+1]=e[1]},block32toNum:function(a){return this.fixNegative(a.charCodeAt(0)<<24|a.charCodeAt(1)<<16|a.charCodeAt(2)<<8|a.charCodeAt(3))},num2block32:function(a){return String.fromCharCode(a>>>24)+String.fromCharCode(a<<8>>>24)+String.fromCharCode(a<<16>>>24)+String.fromCharCode(a<<24>>>24)},xor:function(a,b){return this.fixNegative(a^b)},addMod32:function(a,b){return this.fixNegative(a+b|0)},fixNegative:function(a){return a>>>0},split64by32:function(a){var b=a.substring(0,4);a=a.substring(4,8);return[this.block32toNum(b),this.block32toNum(a)]},utf8Decode:function(a){var b="";for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);d<128?b+=String.fromCharCode(d):d>127&&d<2048?(b+=String.fromCharCode(d>>6|192),b+=String.fromCharCode(d&63|128)):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128),b+=String.fromCharCode(d&63|128))}return b},utf8Encode:function(a){var b="",c=0,d=0,e=0,f;while(c<a.length)d=a.charCodeAt(c),d<128?(b+=String.fromCharCode(d),c++):d>191&&d<224?(e=a.charCodeAt(c+1),b+=String.fromCharCode((d&31)<<6|e&63),c+=2):(e=a.charCodeAt(c+1),f=a.charCodeAt(c+2),b+=String.fromCharCode((d&15)<<12|(e&63)<<6|f&63),c+=3);return b},base64Encode:function(a){var b="",c,d,e,f,g,h,i=0;while(i<a.length)c=a.charCodeAt(i++),d=a.charCodeAt(i++),e=a.charCodeAt(i++),f=c>>2,c=(c&3)<<4|d>>4,g=(d&15)<<2|e>>6,h=e&63,isNaN(d)?g=h=64:isNaN(e)&&(h=64),b=b+this.keyStr.charAt(f)+this.keyStr.charAt(c)+this.keyStr.charAt(g)+this.keyStr.charAt(h);return b},base64Decode:function(a){var b="",c,d,e,f,g,h=0;a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(h<a.length)d=this.keyStr.indexOf(a.charAt(h++)),e=this.keyStr.indexOf(a.charAt(h++)),f=this.keyStr.indexOf(a.charAt(h++)),g=this.keyStr.indexOf(a.charAt(h++)),d=d<<2|e>>4,e=(e&15)<<4|f>>2,c=(f&3)<<6|g,b=b+String.fromCharCode(d),f!=64&&(b=b+String.fromCharCode(e)),g!=64&&(b=b+String.fromCharCode(c));return b},trimZeros:function(a){return a.replace(/\0+$/g,"")}};a.pArray=[
Success #stdin #stdout #stderr 0.01s 5328KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: near line 1: near "__d": syntax error