Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / components / encryptor / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x9d5f=['crypto','bluebird','aes192','hasOwnProperty','createWriteStream','algorithm','data','update','binary','end','final','write','close','unlink','decryptFile','createDecipher'];(function(_0x5b561d,_0x422b7c){var _0x431060=function(_0x401409){while(--_0x401409){_0x5b561d['push'](_0x5b561d['shift']());}};_0x431060(++_0x422b7c);}(_0x9d5f,0x1e0));var _0xf9d5=function(_0x270b7,_0x59878e){_0x270b7=_0x270b7-0x0;var _0x19e02d=_0x9d5f[_0x270b7];return _0x19e02d;};'use strict';var crypto=require(_0xf9d5('0x0'));var fs=require('fs');var BPromise=require(_0xf9d5('0x1'));var defaultOptions={'algorithm':_0xf9d5('0x2')};function combineOptions(_0x2379e2){var _0x3cef53={};for(var _0x331d2d in defaultOptions){if(defaultOptions[_0xf9d5('0x3')](_0x331d2d)){_0x3cef53[_0x331d2d]=defaultOptions[_0x331d2d];}}if(_0x2379e2){for(var _0xbb8593 in _0x2379e2){if(_0x2379e2[_0xf9d5('0x3')](_0xbb8593)){_0x3cef53[_0xbb8593]=_0x2379e2[_0xbb8593];}}}return _0x3cef53;}exports['encryptFile']=function(_0x2113c5,_0x3e357c,_0x588df9,_0x1d490a){return new BPromise(function(_0x5caff9,_0x3450c1){_0x1d490a=combineOptions(_0x1d490a);var _0x51d143=new Buffer(_0x588df9);var _0x484de5=fs['createReadStream'](_0x2113c5);var _0x5852d8=fs[_0xf9d5('0x4')](_0x3e357c);var _0x228dde=crypto['createCipher'](_0x1d490a[_0xf9d5('0x5')],_0x51d143);_0x484de5['on'](_0xf9d5('0x6'),function(_0x1efa67){var _0x2cfe7f=new Buffer(_0x228dde[_0xf9d5('0x7')](_0x1efa67),_0xf9d5('0x8'));_0x5852d8['write'](_0x2cfe7f);});_0x484de5['on'](_0xf9d5('0x9'),function(){try{var _0x6712e0=new Buffer(_0x228dde[_0xf9d5('0xa')]('binary'),'binary');_0x5852d8[_0xf9d5('0xb')](_0x6712e0);_0x5852d8[_0xf9d5('0x9')]();_0x5852d8['on'](_0xf9d5('0xc'),function(){return _0x5caff9(_0x3e357c);});}catch(_0x5ba5e1){fs[_0xf9d5('0xd')](_0x3e357c);return _0x3450c1(_0x5ba5e1);}});});};exports[_0xf9d5('0xe')]=function(_0x4b5388,_0x1e2f4a,_0x53abc6,_0x404ab4){return new BPromise(function(_0x185b92,_0x22f3e9){_0x404ab4=combineOptions(_0x404ab4);var _0x471e08=new Buffer(_0x53abc6);var _0x163254=fs['createReadStream'](_0x4b5388);var _0x131f12=fs[_0xf9d5('0x4')](_0x1e2f4a);var _0x2eb5ad=crypto[_0xf9d5('0xf')](_0x404ab4[_0xf9d5('0x5')],_0x471e08);_0x163254['on'](_0xf9d5('0x6'),function(_0x192a21){var _0x55120d=new Buffer(_0x2eb5ad[_0xf9d5('0x7')](_0x192a21),_0xf9d5('0x8'));_0x131f12[_0xf9d5('0xb')](_0x55120d);});_0x163254['on'](_0xf9d5('0x9'),function(){try{var _0x2cca03=new Buffer(_0x2eb5ad[_0xf9d5('0xa')](_0xf9d5('0x8')),_0xf9d5('0x8'));_0x131f12[_0xf9d5('0xb')](_0x2cca03);_0x131f12['end']();_0x131f12['on'](_0xf9d5('0xc'),function(){return _0x185b92(_0x1e2f4a);});}catch(_0x19d6be){fs[_0xf9d5('0xd')](_0x1e2f4a);return _0x22f3e9(_0x19d6be);}});});};