Built motion from commit (unavailable).|2.5.22
[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 _0xafb9=['encryptString','secret','utf8','base64','crypto','bluebird','../../config/environment','secrets','session','aes-256-ctr','aes192','encryptFile','createReadStream','createWriteStream','algorithm','data','update','binary','write','end','final','close','unlink','decryptFile','createDecipher'];(function(_0x3b2338,_0xeda656){var _0x1b6703=function(_0x4f90c5){while(--_0x4f90c5){_0x3b2338['push'](_0x3b2338['shift']());}};_0x1b6703(++_0xeda656);}(_0xafb9,0x68));var _0x9afb=function(_0x2eb288,_0x13d09b){_0x2eb288=_0x2eb288-0x0;var _0x2f3906=_0xafb9[_0x2eb288];return _0x2f3906;};'use strict';var crypto=require(_0x9afb('0x0'));var fs=require('fs');var BPromise=require(_0x9afb('0x1'));var config=require(_0x9afb('0x2'));const stringOptions={'secret':config[_0x9afb('0x3')][_0x9afb('0x4')],'algorithm':_0x9afb('0x5')};const fileOptions={'algorithm':_0x9afb('0x6')};function combineOptions(_0x44892f){var _0xdaf0c6={};for(var _0x4e983d in fileOptions){if(fileOptions['hasOwnProperty'](_0x4e983d)){_0xdaf0c6[_0x4e983d]=fileOptions[_0x4e983d];}}if(_0x44892f){for(var _0x91ffa0 in _0x44892f){if(_0x44892f['hasOwnProperty'](_0x91ffa0)){_0xdaf0c6[_0x91ffa0]=_0x44892f[_0x91ffa0];}}}return _0xdaf0c6;}exports[_0x9afb('0x7')]=function(_0x548b24,_0x556880,_0x4c0e9d,_0x1edf77){return new BPromise(function(_0x20b8c1,_0x51dc88){_0x1edf77=combineOptions(_0x1edf77);var _0x3ef362=new Buffer(_0x4c0e9d);var _0x3e0264=fs[_0x9afb('0x8')](_0x548b24);var _0x27fa71=fs[_0x9afb('0x9')](_0x556880);var _0x56f477=crypto['createCipher'](_0x1edf77[_0x9afb('0xa')],_0x3ef362);_0x3e0264['on'](_0x9afb('0xb'),function(_0x3e6a29){var _0x31b574=new Buffer(_0x56f477[_0x9afb('0xc')](_0x3e6a29),_0x9afb('0xd'));_0x27fa71[_0x9afb('0xe')](_0x31b574);});_0x3e0264['on'](_0x9afb('0xf'),function(){try{var _0x464462=new Buffer(_0x56f477[_0x9afb('0x10')]('binary'),_0x9afb('0xd'));_0x27fa71['write'](_0x464462);_0x27fa71['end']();_0x27fa71['on'](_0x9afb('0x11'),function(){return _0x20b8c1(_0x556880);});}catch(_0x3e40c1){fs[_0x9afb('0x12')](_0x556880);return _0x51dc88(_0x3e40c1);}});});};exports[_0x9afb('0x13')]=function(_0x46b16f,_0x39cdf1,_0xd111f1,_0x4d31e3){return new BPromise(function(_0x18505a,_0x2145c2){_0x4d31e3=combineOptions(_0x4d31e3);var _0x23b906=new Buffer(_0xd111f1);var _0x190cb8=fs[_0x9afb('0x8')](_0x46b16f);var _0x508433=fs[_0x9afb('0x9')](_0x39cdf1);var _0x50a7e4=crypto[_0x9afb('0x14')](_0x4d31e3[_0x9afb('0xa')],_0x23b906);_0x190cb8['on']('data',function(_0x4a1c74){var _0x3ac42f=new Buffer(_0x50a7e4[_0x9afb('0xc')](_0x4a1c74),_0x9afb('0xd'));_0x508433[_0x9afb('0xe')](_0x3ac42f);});_0x190cb8['on'](_0x9afb('0xf'),function(){try{var _0x57b4e2=new Buffer(_0x50a7e4[_0x9afb('0x10')]('binary'),'binary');_0x508433[_0x9afb('0xe')](_0x57b4e2);_0x508433[_0x9afb('0xf')]();_0x508433['on'](_0x9afb('0x11'),function(){return _0x18505a(_0x39cdf1);});}catch(_0x2d3938){fs['unlink'](_0x39cdf1);return _0x2145c2(_0x2d3938);}});});};exports[_0x9afb('0x15')]=function(_0x725a04,_0x49ba5f,_0x571bd9){var _0x5b5dab=_0x571bd9||stringOptions[_0x9afb('0xa')];var _0x4fbe61=_0x49ba5f||stringOptions[_0x9afb('0x16')];var _0x123510=crypto['createCipher'](_0x5b5dab,_0x4fbe61);var _0x324293=_0x123510[_0x9afb('0xc')](_0x725a04,_0x9afb('0x17'),_0x9afb('0x18'));_0x324293+=_0x123510['final'](_0x9afb('0x18'));return _0x324293;};exports['decryptString']=function(_0x29e092,_0x4ad975,_0x5692fa){var _0x1e6100=_0x5692fa||stringOptions[_0x9afb('0xa')];var _0x30af1b=_0x4ad975||stringOptions[_0x9afb('0x16')];var _0x119e04=crypto[_0x9afb('0x14')](_0x1e6100,_0x30af1b);var _0x46673d=_0x119e04['update'](_0x29e092,'base64',_0x9afb('0x17'));_0x46673d+=_0x119e04[_0x9afb('0x10')]('utf8');return _0x46673d;};