Built motion from commit f67b3b02.|2.6.31
[motion2.git] / server / components / encryptor / index.js
index 56c2529..a117afe 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3e35=['final','binary','close','unlink','decryptFile','createDecipher','write','end','encryptString','secret','utf8','base64','decryptString','crypto','bluebird','lodash','../../config/logger','secrets','session','aes192','encrypt','algorithm','join','error','is\x20not\x20a\x20supported\x20algorithm.\x20Your\x20system\x20supports\x20the\x20following\x20algorithms:','test','getCiphers','filter','hasOwnProperty','encryptFile','createReadStream','createWriteStream','data','update'];(function(_0x2f610c,_0x44414e){var _0x2ab090=function(_0x2fe33b){while(--_0x2fe33b){_0x2f610c['push'](_0x2f610c['shift']());}};_0x2ab090(++_0x44414e);}(_0x3e35,0xfb));var _0x53e3=function(_0x4d521e,_0x58ba39){_0x4d521e=_0x4d521e-0x0;var _0x3beb42=_0x3e35[_0x4d521e];return _0x3beb42;};'use strict';var crypto=require(_0x53e3('0x0'));var fs=require('fs');var BPromise=require(_0x53e3('0x1'));var _=require(_0x53e3('0x2'));var config=require('../../config/environment');var logger=require(_0x53e3('0x3'))('app');const AES_SUPPORTED_RX=/^aes(-)?\d{3}(-(cbc|cfb|ctr)(1|8)?){0,1}$/;const stringOptions={'secret':config[_0x53e3('0x4')][_0x53e3('0x5')],'algorithm':'aes-256-ctr'};const fileOptions={'algorithm':_0x53e3('0x6')};if(config[_0x53e3('0x7')]&&config[_0x53e3('0x7')]['algorithm']){var isSupported=isAlgorithmSupported(config[_0x53e3('0x7')][_0x53e3('0x8')]);if(isSupported){fileOptions[_0x53e3('0x8')]=config['encrypt']['algorithm'];}else{var supportedAlgorithms=getSupportedCiphers()[_0x53e3('0x9')](',\x20');logger[_0x53e3('0xa')](config[_0x53e3('0x7')][_0x53e3('0x8')],_0x53e3('0xb'),supportedAlgorithms);}}function isASupportedCipher(_0x56a8d5){return AES_SUPPORTED_RX[_0x53e3('0xc')](_0x56a8d5);}function getSupportedCiphers(){return crypto[_0x53e3('0xd')]()[_0x53e3('0xe')](isASupportedCipher);}function isAlgorithmSupported(_0x3f22c3){return getSupportedCiphers()['indexOf'](_0x3f22c3)>-0x1;}function combineOptions(_0x35d0d2){var _0x346796={};for(var _0x1fe807 in fileOptions){if(fileOptions[_0x53e3('0xf')](_0x1fe807)){_0x346796[_0x1fe807]=fileOptions[_0x1fe807];}}if(_0x35d0d2){for(var _0x174784 in _0x35d0d2){if(_0x35d0d2['hasOwnProperty'](_0x174784)){_0x346796[_0x174784]=_0x35d0d2[_0x174784];}}}return _0x346796;}exports[_0x53e3('0x10')]=function(_0x56ae55,_0x26eacd,_0x36b300,_0x1a57b9){return new BPromise(function(_0x3e5c1b,_0x4104b0){_0x1a57b9=combineOptions(_0x1a57b9);var _0x1a640b=new Buffer(_0x36b300);var _0x33fc44=fs[_0x53e3('0x11')](_0x56ae55);var _0x4b2f9e=fs[_0x53e3('0x12')](_0x26eacd);var _0x386ea1=crypto['createCipher'](_0x1a57b9[_0x53e3('0x8')],_0x1a640b);_0x33fc44['on'](_0x53e3('0x13'),function(_0x262df7){var _0x27283f=new Buffer(_0x386ea1[_0x53e3('0x14')](_0x262df7),'binary');_0x4b2f9e['write'](_0x27283f);});_0x33fc44['on']('end',function(){try{var _0x40abd1=new Buffer(_0x386ea1[_0x53e3('0x15')]('binary'),_0x53e3('0x16'));_0x4b2f9e['write'](_0x40abd1);_0x4b2f9e['end']();_0x4b2f9e['on'](_0x53e3('0x17'),function(){return _0x3e5c1b(_0x26eacd);});}catch(_0x44a625){fs[_0x53e3('0x18')](_0x26eacd);return _0x4104b0(_0x44a625);}});});};exports[_0x53e3('0x19')]=function(_0x1d9443,_0x48caed,_0x1975e7,_0xb701ee){return new BPromise(function(_0x57c865,_0x2018c2){_0xb701ee=combineOptions(_0xb701ee);var _0x3e37a9=new Buffer(_0x1975e7);var _0x38e21e=fs[_0x53e3('0x11')](_0x1d9443);var _0x5dd987=fs[_0x53e3('0x12')](_0x48caed);var _0x11f2af=crypto[_0x53e3('0x1a')](_0xb701ee[_0x53e3('0x8')],_0x3e37a9);_0x38e21e['on'](_0x53e3('0x13'),function(_0x9e29ab){var _0x5d313f=new Buffer(_0x11f2af[_0x53e3('0x14')](_0x9e29ab),_0x53e3('0x16'));_0x5dd987[_0x53e3('0x1b')](_0x5d313f);});_0x38e21e['on'](_0x53e3('0x1c'),function(){try{var _0x36379b=new Buffer(_0x11f2af[_0x53e3('0x15')](_0x53e3('0x16')),'binary');_0x5dd987[_0x53e3('0x1b')](_0x36379b);_0x5dd987[_0x53e3('0x1c')]();_0x5dd987['on'](_0x53e3('0x17'),function(){return _0x57c865(_0x48caed);});}catch(_0x7e15f4){fs[_0x53e3('0x18')](_0x48caed);return _0x2018c2(_0x7e15f4);}});});};exports[_0x53e3('0x1d')]=function(_0x58d738,_0x20ff9f,_0x3f5bdb){var _0x5664c4=_0x3f5bdb||stringOptions[_0x53e3('0x8')];var _0x15d2f2=_0x20ff9f||stringOptions[_0x53e3('0x1e')];var _0x4305cc=crypto['createCipher'](_0x5664c4,_0x15d2f2);var _0x24fb5e=_0x4305cc[_0x53e3('0x14')](_0x58d738,_0x53e3('0x1f'),_0x53e3('0x20'));_0x24fb5e+=_0x4305cc[_0x53e3('0x15')](_0x53e3('0x20'));return _0x24fb5e;};exports[_0x53e3('0x21')]=function(_0x3edd42,_0x201405,_0x327df9){var _0x2ffd94=_0x327df9||stringOptions[_0x53e3('0x8')];var _0x13e673=_0x201405||stringOptions['secret'];var _0x5fa395=crypto['createDecipher'](_0x2ffd94,_0x13e673);var _0x219d1c=_0x5fa395[_0x53e3('0x14')](_0x3edd42,_0x53e3('0x20'),'utf8');_0x219d1c+=_0x5fa395[_0x53e3('0x15')](_0x53e3('0x1f'));return _0x219d1c;};
\ No newline at end of file
+var _0x7a2b=['unlink','secret','utf8','base64','final','createDecipher','crypto','bluebird','lodash','../../config/logger','app','session','aes-256-ctr','encrypt','algorithm','join','error','is\x20not\x20a\x20supported\x20algorithm.\x20Your\x20system\x20supports\x20the\x20following\x20algorithms:','test','indexOf','encryptFile','createReadStream','createWriteStream','createCipher','data','update','binary','write','end','close'];(function(_0x356184,_0x42ee78){var _0x36d3b6=function(_0x1b4004){while(--_0x1b4004){_0x356184['push'](_0x356184['shift']());}};_0x36d3b6(++_0x42ee78);}(_0x7a2b,0x1c8));var _0xb7a2=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0x7a2b[_0x618414];return _0x21c19a;};'use strict';var crypto=require(_0xb7a2('0x0'));var fs=require('fs');var BPromise=require(_0xb7a2('0x1'));var _=require(_0xb7a2('0x2'));var config=require('../../config/environment');var logger=require(_0xb7a2('0x3'))(_0xb7a2('0x4'));const AES_SUPPORTED_RX=/^aes(-)?\d{3}(-(cbc|cfb|ctr)(1|8)?){0,1}$/;const stringOptions={'secret':config['secrets'][_0xb7a2('0x5')],'algorithm':_0xb7a2('0x6')};const fileOptions={'algorithm':'aes192'};if(config[_0xb7a2('0x7')]&&config[_0xb7a2('0x7')][_0xb7a2('0x8')]){var isSupported=isAlgorithmSupported(config[_0xb7a2('0x7')][_0xb7a2('0x8')]);if(isSupported){fileOptions[_0xb7a2('0x8')]=config[_0xb7a2('0x7')]['algorithm'];}else{var supportedAlgorithms=getSupportedCiphers()[_0xb7a2('0x9')](',\x20');logger[_0xb7a2('0xa')](config[_0xb7a2('0x7')]['algorithm'],_0xb7a2('0xb'),supportedAlgorithms);}}function isASupportedCipher(_0x2c79eb){return AES_SUPPORTED_RX[_0xb7a2('0xc')](_0x2c79eb);}function getSupportedCiphers(){return crypto['getCiphers']()['filter'](isASupportedCipher);}function isAlgorithmSupported(_0x4f11c9){return getSupportedCiphers()[_0xb7a2('0xd')](_0x4f11c9)>-0x1;}function combineOptions(_0x4f0ec4){var _0x250349={};for(var _0x39ac1f in fileOptions){if(fileOptions['hasOwnProperty'](_0x39ac1f)){_0x250349[_0x39ac1f]=fileOptions[_0x39ac1f];}}if(_0x4f0ec4){for(var _0x59a299 in _0x4f0ec4){if(_0x4f0ec4['hasOwnProperty'](_0x59a299)){_0x250349[_0x59a299]=_0x4f0ec4[_0x59a299];}}}return _0x250349;}exports[_0xb7a2('0xe')]=function(_0x21eb67,_0x6f8de0,_0x2c5e2a,_0x5c2618){return new BPromise(function(_0x3942ea,_0x1ccf44){_0x5c2618=combineOptions(_0x5c2618);var _0xf848a7=new Buffer(_0x2c5e2a);var _0x543467=fs[_0xb7a2('0xf')](_0x21eb67);var _0x335dfc=fs[_0xb7a2('0x10')](_0x6f8de0);var _0x333120=crypto[_0xb7a2('0x11')](_0x5c2618[_0xb7a2('0x8')],_0xf848a7);_0x543467['on'](_0xb7a2('0x12'),function(_0x42872c){var _0x37d8a6=new Buffer(_0x333120[_0xb7a2('0x13')](_0x42872c),_0xb7a2('0x14'));_0x335dfc[_0xb7a2('0x15')](_0x37d8a6);});_0x543467['on'](_0xb7a2('0x16'),function(){try{var _0x447781=new Buffer(_0x333120['final'](_0xb7a2('0x14')),'binary');_0x335dfc['write'](_0x447781);_0x335dfc[_0xb7a2('0x16')]();_0x335dfc['on'](_0xb7a2('0x17'),function(){return _0x3942ea(_0x6f8de0);});}catch(_0x508c2e){fs[_0xb7a2('0x18')](_0x6f8de0);return _0x1ccf44(_0x508c2e);}});});};exports['decryptFile']=function(_0x49eaa7,_0x4cbe3c,_0x5d8dac,_0x3f3c10){return new BPromise(function(_0x1906d7,_0x18673e){_0x3f3c10=combineOptions(_0x3f3c10);var _0x1047e7=new Buffer(_0x5d8dac);var _0x5bc6df=fs['createReadStream'](_0x49eaa7);var _0x1577a7=fs['createWriteStream'](_0x4cbe3c);var _0x1c9859=crypto['createDecipher'](_0x3f3c10[_0xb7a2('0x8')],_0x1047e7);_0x5bc6df['on'](_0xb7a2('0x12'),function(_0x4f1701){var _0x34f212=new Buffer(_0x1c9859[_0xb7a2('0x13')](_0x4f1701),'binary');_0x1577a7[_0xb7a2('0x15')](_0x34f212);});_0x5bc6df['on']('end',function(){try{var _0x87bdc=new Buffer(_0x1c9859['final'](_0xb7a2('0x14')),'binary');_0x1577a7[_0xb7a2('0x15')](_0x87bdc);_0x1577a7[_0xb7a2('0x16')]();_0x1577a7['on'](_0xb7a2('0x17'),function(){return _0x1906d7(_0x4cbe3c);});}catch(_0x542012){fs[_0xb7a2('0x18')](_0x4cbe3c);return _0x18673e(_0x542012);}});});};exports['encryptString']=function(_0x360010,_0x180f2d,_0x54ec29){var _0x259141=_0x54ec29||stringOptions[_0xb7a2('0x8')];var _0x27ffef=_0x180f2d||stringOptions[_0xb7a2('0x19')];var _0x434e3b=crypto[_0xb7a2('0x11')](_0x259141,_0x27ffef);var _0x50ccf6=_0x434e3b[_0xb7a2('0x13')](_0x360010,_0xb7a2('0x1a'),_0xb7a2('0x1b'));_0x50ccf6+=_0x434e3b[_0xb7a2('0x1c')](_0xb7a2('0x1b'));return _0x50ccf6;};exports['decryptString']=function(_0x43aecb,_0x8cc3fa,_0x32c78c){var _0x3164ce=_0x32c78c||stringOptions[_0xb7a2('0x8')];var _0x2e364f=_0x8cc3fa||stringOptions[_0xb7a2('0x19')];var _0x208f3b=crypto[_0xb7a2('0x1d')](_0x3164ce,_0x2e364f);var _0x4d34df=_0x208f3b[_0xb7a2('0x13')](_0x43aecb,_0xb7a2('0x1b'),_0xb7a2('0x1a'));_0x4d34df+=_0x208f3b[_0xb7a2('0x1c')]('utf8');return _0x4d34df;};
\ No newline at end of file