Built motion from commit (unavailable).|2.4.3
[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 _0xfc8f=['unlink','createWriteStream','createDecipher','update','crypto','bluebird','hasOwnProperty','encryptFile','createReadStream','createCipher','algorithm','data','binary','write','end','final','close'];(function(_0x51fd25,_0x2fcbb){var _0x4529ae=function(_0x17ed81){while(--_0x17ed81){_0x51fd25['push'](_0x51fd25['shift']());}};_0x4529ae(++_0x2fcbb);}(_0xfc8f,0xe1));var _0xffc8=function(_0x5f5af1,_0x1101f2){_0x5f5af1=_0x5f5af1-0x0;var _0x1bae4d=_0xfc8f[_0x5f5af1];return _0x1bae4d;};'use strict';var crypto=require(_0xffc8('0x0'));var fs=require('fs');var BPromise=require(_0xffc8('0x1'));var defaultOptions={'algorithm':'aes192'};function combineOptions(_0x56d004){var _0x4dba78={};for(var _0x2a2689 in defaultOptions){if(defaultOptions[_0xffc8('0x2')](_0x2a2689)){_0x4dba78[_0x2a2689]=defaultOptions[_0x2a2689];}}if(_0x56d004){for(var _0x5a6c51 in _0x56d004){if(_0x56d004['hasOwnProperty'](_0x5a6c51)){_0x4dba78[_0x5a6c51]=_0x56d004[_0x5a6c51];}}}return _0x4dba78;}exports[_0xffc8('0x3')]=function(_0x190700,_0x55ed65,_0x5c0bab,_0x3d1108){return new BPromise(function(_0x80e1a2,_0x4245a8){_0x3d1108=combineOptions(_0x3d1108);var _0x2a6462=new Buffer(_0x5c0bab);var _0x3a5741=fs[_0xffc8('0x4')](_0x190700);var _0x342638=fs['createWriteStream'](_0x55ed65);var _0x3efe16=crypto[_0xffc8('0x5')](_0x3d1108[_0xffc8('0x6')],_0x2a6462);_0x3a5741['on'](_0xffc8('0x7'),function(_0x1dc65d){var _0x1fc9aa=new Buffer(_0x3efe16['update'](_0x1dc65d),_0xffc8('0x8'));_0x342638[_0xffc8('0x9')](_0x1fc9aa);});_0x3a5741['on'](_0xffc8('0xa'),function(){try{var _0x39afc0=new Buffer(_0x3efe16[_0xffc8('0xb')]('binary'),'binary');_0x342638['write'](_0x39afc0);_0x342638[_0xffc8('0xa')]();_0x342638['on'](_0xffc8('0xc'),function(){return _0x80e1a2(_0x55ed65);});}catch(_0x9123c4){fs[_0xffc8('0xd')](_0x55ed65);return _0x4245a8(_0x9123c4);}});});};exports['decryptFile']=function(_0x3738b4,_0x55fccc,_0x1b4f05,_0x205370){return new BPromise(function(_0x4b7b2c,_0x5c63df){_0x205370=combineOptions(_0x205370);var _0x1a3f1a=new Buffer(_0x1b4f05);var _0x3b1d5d=fs[_0xffc8('0x4')](_0x3738b4);var _0x848801=fs[_0xffc8('0xe')](_0x55fccc);var _0x1ae130=crypto[_0xffc8('0xf')](_0x205370[_0xffc8('0x6')],_0x1a3f1a);_0x3b1d5d['on'](_0xffc8('0x7'),function(_0x5e7720){var _0x2374b9=new Buffer(_0x1ae130[_0xffc8('0x10')](_0x5e7720),'binary');_0x848801[_0xffc8('0x9')](_0x2374b9);});_0x3b1d5d['on']('end',function(){try{var _0x5b2f32=new Buffer(_0x1ae130[_0xffc8('0xb')](_0xffc8('0x8')),'binary');_0x848801[_0xffc8('0x9')](_0x5b2f32);_0x848801[_0xffc8('0xa')]();_0x848801['on']('close',function(){return _0x4b7b2c(_0x55fccc);});}catch(_0xde7d2e){fs[_0xffc8('0xd')](_0x55fccc);return _0x5c63df(_0xde7d2e);}});});};