Built motion from commit c0cdc9d8.|2.6.28
[motion2.git] / server / components / encryptor / index.js
index 0b244b5..936432a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2889=['encryptFile','createCipher','data','binary','write','end','close','unlink','createReadStream','createDecipher','update','encryptString','base64','final','decryptString','secret','utf8','crypto','lodash','../../config/environment','../../config/logger','app','secrets','aes-256-ctr','aes192','encrypt','algorithm','join','error','is\x20not\x20a\x20supported\x20algorithm.\x20Your\x20system\x20supports\x20the\x20following\x20algorithms:','test','getCiphers','indexOf','hasOwnProperty'];(function(_0x4569b4,_0x1df34a){var _0x3f965=function(_0x3e3367){while(--_0x3e3367){_0x4569b4['push'](_0x4569b4['shift']());}};_0x3f965(++_0x1df34a);}(_0x2889,0x187));var _0x9288=function(_0x29cba9,_0x177869){_0x29cba9=_0x29cba9-0x0;var _0x514c3f=_0x2889[_0x29cba9];return _0x514c3f;};'use strict';var crypto=require(_0x9288('0x0'));var fs=require('fs');var BPromise=require('bluebird');var _=require(_0x9288('0x1'));var config=require(_0x9288('0x2'));var logger=require(_0x9288('0x3'))(_0x9288('0x4'));const AES_SUPPORTED_RX=/^aes(-)?\d{3}(-(cbc|cfb|ctr)(1|8)?){0,1}$/;const stringOptions={'secret':config[_0x9288('0x5')]['session'],'algorithm':_0x9288('0x6')};const fileOptions={'algorithm':_0x9288('0x7')};if(config['encrypt']&&config[_0x9288('0x8')][_0x9288('0x9')]){var isSupported=isAlgorithmSupported(config['encrypt'][_0x9288('0x9')]);if(isSupported){fileOptions['algorithm']=config[_0x9288('0x8')][_0x9288('0x9')];}else{var supportedAlgorithms=getSupportedCiphers()[_0x9288('0xa')](',\x20');logger[_0x9288('0xb')](config['encrypt']['algorithm'],_0x9288('0xc'),supportedAlgorithms);}}function isASupportedCipher(_0x57d520){return AES_SUPPORTED_RX[_0x9288('0xd')](_0x57d520);}function getSupportedCiphers(){return crypto[_0x9288('0xe')]()['filter'](isASupportedCipher);}function isAlgorithmSupported(_0x2a785b){return getSupportedCiphers()[_0x9288('0xf')](_0x2a785b)>-0x1;}function combineOptions(_0x153e0f){var _0x206eb2={};for(var _0xebc84b in fileOptions){if(fileOptions['hasOwnProperty'](_0xebc84b)){_0x206eb2[_0xebc84b]=fileOptions[_0xebc84b];}}if(_0x153e0f){for(var _0x57d34d in _0x153e0f){if(_0x153e0f[_0x9288('0x10')](_0x57d34d)){_0x206eb2[_0x57d34d]=_0x153e0f[_0x57d34d];}}}return _0x206eb2;}exports[_0x9288('0x11')]=function(_0x3fcbf4,_0x357e8b,_0x4c1c67,_0x130a20){return new BPromise(function(_0x14d814,_0x2d0fae){_0x130a20=combineOptions(_0x130a20);var _0x58f913=new Buffer(_0x4c1c67);var _0x399c5a=fs['createReadStream'](_0x3fcbf4);var _0x3b5dc6=fs['createWriteStream'](_0x357e8b);var _0x2cce8c=crypto[_0x9288('0x12')](_0x130a20['algorithm'],_0x58f913);_0x399c5a['on'](_0x9288('0x13'),function(_0x16d9c0){var _0xc77ee1=new Buffer(_0x2cce8c['update'](_0x16d9c0),_0x9288('0x14'));_0x3b5dc6[_0x9288('0x15')](_0xc77ee1);});_0x399c5a['on'](_0x9288('0x16'),function(){try{var _0x4edb95=new Buffer(_0x2cce8c['final'](_0x9288('0x14')),_0x9288('0x14'));_0x3b5dc6[_0x9288('0x15')](_0x4edb95);_0x3b5dc6['end']();_0x3b5dc6['on'](_0x9288('0x17'),function(){return _0x14d814(_0x357e8b);});}catch(_0x5d9964){fs[_0x9288('0x18')](_0x357e8b);return _0x2d0fae(_0x5d9964);}});});};exports['decryptFile']=function(_0x34c231,_0x4839d2,_0x1db392,_0x40be91){return new BPromise(function(_0x1a44b5,_0x3fe25f){_0x40be91=combineOptions(_0x40be91);var _0x337598=new Buffer(_0x1db392);var _0x3ecb5a=fs[_0x9288('0x19')](_0x34c231);var _0x395a32=fs['createWriteStream'](_0x4839d2);var _0x28b03b=crypto[_0x9288('0x1a')](_0x40be91[_0x9288('0x9')],_0x337598);_0x3ecb5a['on']('data',function(_0x901b2a){var _0x52ed41=new Buffer(_0x28b03b[_0x9288('0x1b')](_0x901b2a),_0x9288('0x14'));_0x395a32[_0x9288('0x15')](_0x52ed41);});_0x3ecb5a['on'](_0x9288('0x16'),function(){try{var _0x18181c=new Buffer(_0x28b03b['final'](_0x9288('0x14')),_0x9288('0x14'));_0x395a32[_0x9288('0x15')](_0x18181c);_0x395a32['end']();_0x395a32['on'](_0x9288('0x17'),function(){return _0x1a44b5(_0x4839d2);});}catch(_0x56598b){fs[_0x9288('0x18')](_0x4839d2);return _0x3fe25f(_0x56598b);}});});};exports[_0x9288('0x1c')]=function(_0x159ba8,_0x2ab1d6,_0x4aa36d){var _0x4775e1=_0x4aa36d||stringOptions[_0x9288('0x9')];var _0x49bed0=_0x2ab1d6||stringOptions['secret'];var _0x323a40=crypto[_0x9288('0x12')](_0x4775e1,_0x49bed0);var _0x196871=_0x323a40[_0x9288('0x1b')](_0x159ba8,'utf8',_0x9288('0x1d'));_0x196871+=_0x323a40[_0x9288('0x1e')](_0x9288('0x1d'));return _0x196871;};exports[_0x9288('0x1f')]=function(_0x54aa27,_0x39444d,_0x518310){var _0x4dbcf7=_0x518310||stringOptions[_0x9288('0x9')];var _0x46f746=_0x39444d||stringOptions[_0x9288('0x20')];var _0x1250a8=crypto['createDecipher'](_0x4dbcf7,_0x46f746);var _0x360fda=_0x1250a8['update'](_0x54aa27,_0x9288('0x1d'),_0x9288('0x21'));_0x360fda+=_0x1250a8['final'](_0x9288('0x21'));return _0x360fda;};
\ No newline at end of file
+var _0x8c73=['createDecipher','encryptString','secret','utf8','base64','crypto','bluebird','lodash','../../config/logger','app','aes192','encrypt','algorithm','error','test','getCiphers','filter','indexOf','hasOwnProperty','encryptFile','createWriteStream','createCipher','data','update','binary','write','final','end','close','unlink','decryptFile','createReadStream'];(function(_0x5ca82d,_0x7d11a0){var _0x397661=function(_0x4ce955){while(--_0x4ce955){_0x5ca82d['push'](_0x5ca82d['shift']());}};_0x397661(++_0x7d11a0);}(_0x8c73,0x145));var _0x38c7=function(_0x3eec42,_0x192ed2){_0x3eec42=_0x3eec42-0x0;var _0x110bf0=_0x8c73[_0x3eec42];return _0x110bf0;};'use strict';var crypto=require(_0x38c7('0x0'));var fs=require('fs');var BPromise=require(_0x38c7('0x1'));var _=require(_0x38c7('0x2'));var config=require('../../config/environment');var logger=require(_0x38c7('0x3'))(_0x38c7('0x4'));const AES_SUPPORTED_RX=/^aes(-)?\d{3}(-(cbc|cfb|ctr)(1|8)?){0,1}$/;const stringOptions={'secret':config['secrets']['session'],'algorithm':'aes-256-ctr'};const fileOptions={'algorithm':_0x38c7('0x5')};if(config[_0x38c7('0x6')]&&config[_0x38c7('0x6')][_0x38c7('0x7')]){var isSupported=isAlgorithmSupported(config[_0x38c7('0x6')][_0x38c7('0x7')]);if(isSupported){fileOptions[_0x38c7('0x7')]=config[_0x38c7('0x6')][_0x38c7('0x7')];}else{var supportedAlgorithms=getSupportedCiphers()['join'](',\x20');logger[_0x38c7('0x8')](config['encrypt'][_0x38c7('0x7')],'is\x20not\x20a\x20supported\x20algorithm.\x20Your\x20system\x20supports\x20the\x20following\x20algorithms:',supportedAlgorithms);}}function isASupportedCipher(_0x3b27ef){return AES_SUPPORTED_RX[_0x38c7('0x9')](_0x3b27ef);}function getSupportedCiphers(){return crypto[_0x38c7('0xa')]()[_0x38c7('0xb')](isASupportedCipher);}function isAlgorithmSupported(_0x414593){return getSupportedCiphers()[_0x38c7('0xc')](_0x414593)>-0x1;}function combineOptions(_0x468a2c){var _0xbacd49={};for(var _0x3c8c75 in fileOptions){if(fileOptions[_0x38c7('0xd')](_0x3c8c75)){_0xbacd49[_0x3c8c75]=fileOptions[_0x3c8c75];}}if(_0x468a2c){for(var _0x2a963c in _0x468a2c){if(_0x468a2c[_0x38c7('0xd')](_0x2a963c)){_0xbacd49[_0x2a963c]=_0x468a2c[_0x2a963c];}}}return _0xbacd49;}exports[_0x38c7('0xe')]=function(_0x52d47e,_0x23baee,_0x3610c8,_0x3c665d){return new BPromise(function(_0x249556,_0x5b4e4a){_0x3c665d=combineOptions(_0x3c665d);var _0x4a5606=new Buffer(_0x3610c8);var _0x45f756=fs['createReadStream'](_0x52d47e);var _0x300a7b=fs[_0x38c7('0xf')](_0x23baee);var _0x3c3a8b=crypto[_0x38c7('0x10')](_0x3c665d[_0x38c7('0x7')],_0x4a5606);_0x45f756['on'](_0x38c7('0x11'),function(_0x43fed1){var _0x3508de=new Buffer(_0x3c3a8b[_0x38c7('0x12')](_0x43fed1),_0x38c7('0x13'));_0x300a7b[_0x38c7('0x14')](_0x3508de);});_0x45f756['on']('end',function(){try{var _0x3fd786=new Buffer(_0x3c3a8b[_0x38c7('0x15')]('binary'),_0x38c7('0x13'));_0x300a7b[_0x38c7('0x14')](_0x3fd786);_0x300a7b[_0x38c7('0x16')]();_0x300a7b['on'](_0x38c7('0x17'),function(){return _0x249556(_0x23baee);});}catch(_0x4d3622){fs[_0x38c7('0x18')](_0x23baee);return _0x5b4e4a(_0x4d3622);}});});};exports[_0x38c7('0x19')]=function(_0x241408,_0x26456d,_0xbed8ab,_0x479ed0){return new BPromise(function(_0x23cbbc,_0x3abfbb){_0x479ed0=combineOptions(_0x479ed0);var _0xa32dbb=new Buffer(_0xbed8ab);var _0x13c14b=fs[_0x38c7('0x1a')](_0x241408);var _0x1bbac2=fs[_0x38c7('0xf')](_0x26456d);var _0xa99dc=crypto[_0x38c7('0x1b')](_0x479ed0['algorithm'],_0xa32dbb);_0x13c14b['on'](_0x38c7('0x11'),function(_0x437787){var _0x1b413b=new Buffer(_0xa99dc[_0x38c7('0x12')](_0x437787),_0x38c7('0x13'));_0x1bbac2[_0x38c7('0x14')](_0x1b413b);});_0x13c14b['on'](_0x38c7('0x16'),function(){try{var _0x1d3d38=new Buffer(_0xa99dc[_0x38c7('0x15')]('binary'),_0x38c7('0x13'));_0x1bbac2[_0x38c7('0x14')](_0x1d3d38);_0x1bbac2[_0x38c7('0x16')]();_0x1bbac2['on'](_0x38c7('0x17'),function(){return _0x23cbbc(_0x26456d);});}catch(_0x4a5227){fs[_0x38c7('0x18')](_0x26456d);return _0x3abfbb(_0x4a5227);}});});};exports[_0x38c7('0x1c')]=function(_0x45ad29,_0x3f2c6f,_0x10fa14){var _0x20dc3f=_0x10fa14||stringOptions[_0x38c7('0x7')];var _0x5ccb46=_0x3f2c6f||stringOptions[_0x38c7('0x1d')];var _0x5f4fb5=crypto[_0x38c7('0x10')](_0x20dc3f,_0x5ccb46);var _0x3423a9=_0x5f4fb5[_0x38c7('0x12')](_0x45ad29,_0x38c7('0x1e'),_0x38c7('0x1f'));_0x3423a9+=_0x5f4fb5[_0x38c7('0x15')](_0x38c7('0x1f'));return _0x3423a9;};exports['decryptString']=function(_0x42d178,_0x1dccba,_0x40f0af){var _0x146ec9=_0x40f0af||stringOptions['algorithm'];var _0x4b3790=_0x1dccba||stringOptions['secret'];var _0x1e213f=crypto[_0x38c7('0x1b')](_0x146ec9,_0x4b3790);var _0x5aeb3e=_0x1e213f[_0x38c7('0x12')](_0x42d178,_0x38c7('0x1f'),'utf8');_0x5aeb3e+=_0x1e213f['final'](_0x38c7('0x1e'));return _0x5aeb3e;};
\ No newline at end of file