Built motion from commit (unavailable).|2.5.14
[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 _0x5334=['write','end','createWriteStream','createDecipher','final','close','unlink','secret','update','utf8','base64','decryptString','crypto','bluebird','../../config/environment','secrets','session','aes192','encryptFile','createReadStream','createCipher','algorithm','data','binary'];(function(_0xd898a1,_0x2fa04c){var _0x497f6e=function(_0x1f2162){while(--_0x1f2162){_0xd898a1['push'](_0xd898a1['shift']());}};_0x497f6e(++_0x2fa04c);}(_0x5334,0x84));var _0x4533=function(_0x38fa97,_0x51d816){_0x38fa97=_0x38fa97-0x0;var _0x5e4859=_0x5334[_0x38fa97];return _0x5e4859;};'use strict';var crypto=require(_0x4533('0x0'));var fs=require('fs');var BPromise=require(_0x4533('0x1'));var config=require(_0x4533('0x2'));const stringOptions={'secret':config[_0x4533('0x3')][_0x4533('0x4')],'algorithm':'aes-256-ctr'};const fileOptions={'algorithm':_0x4533('0x5')};function combineOptions(_0x5176b5){var _0x42184d={};for(var _0x11ce61 in fileOptions){if(fileOptions['hasOwnProperty'](_0x11ce61)){_0x42184d[_0x11ce61]=fileOptions[_0x11ce61];}}if(_0x5176b5){for(var _0x4a576a in _0x5176b5){if(_0x5176b5['hasOwnProperty'](_0x4a576a)){_0x42184d[_0x4a576a]=_0x5176b5[_0x4a576a];}}}return _0x42184d;}exports[_0x4533('0x6')]=function(_0x4dea06,_0x4d89e7,_0x487906,_0x3fbdc3){return new BPromise(function(_0x42f94b,_0x300877){_0x3fbdc3=combineOptions(_0x3fbdc3);var _0x2489b6=new Buffer(_0x487906);var _0x31018b=fs[_0x4533('0x7')](_0x4dea06);var _0xd417=fs['createWriteStream'](_0x4d89e7);var _0x5533=crypto[_0x4533('0x8')](_0x3fbdc3[_0x4533('0x9')],_0x2489b6);_0x31018b['on'](_0x4533('0xa'),function(_0x5465bf){var _0x7b2420=new Buffer(_0x5533['update'](_0x5465bf),_0x4533('0xb'));_0xd417[_0x4533('0xc')](_0x7b2420);});_0x31018b['on'](_0x4533('0xd'),function(){try{var _0x19b74e=new Buffer(_0x5533['final'](_0x4533('0xb')),_0x4533('0xb'));_0xd417[_0x4533('0xc')](_0x19b74e);_0xd417[_0x4533('0xd')]();_0xd417['on']('close',function(){return _0x42f94b(_0x4d89e7);});}catch(_0xe47213){fs['unlink'](_0x4d89e7);return _0x300877(_0xe47213);}});});};exports['decryptFile']=function(_0x466545,_0x34dea9,_0x5da8b8,_0x30c68c){return new BPromise(function(_0x1e6a1a,_0x2a9877){_0x30c68c=combineOptions(_0x30c68c);var _0x551b0d=new Buffer(_0x5da8b8);var _0x3ed873=fs['createReadStream'](_0x466545);var _0x3ddb36=fs[_0x4533('0xe')](_0x34dea9);var _0x56ab4f=crypto[_0x4533('0xf')](_0x30c68c['algorithm'],_0x551b0d);_0x3ed873['on']('data',function(_0x1c5cdd){var _0x9740a6=new Buffer(_0x56ab4f['update'](_0x1c5cdd),'binary');_0x3ddb36[_0x4533('0xc')](_0x9740a6);});_0x3ed873['on'](_0x4533('0xd'),function(){try{var _0x3467ba=new Buffer(_0x56ab4f[_0x4533('0x10')](_0x4533('0xb')),_0x4533('0xb'));_0x3ddb36[_0x4533('0xc')](_0x3467ba);_0x3ddb36['end']();_0x3ddb36['on'](_0x4533('0x11'),function(){return _0x1e6a1a(_0x34dea9);});}catch(_0xd55c04){fs[_0x4533('0x12')](_0x34dea9);return _0x2a9877(_0xd55c04);}});});};exports['encryptString']=function(_0x513011,_0x138fd9,_0x11e93a){var _0x4c640c=_0x11e93a||stringOptions['algorithm'];var _0x307bdd=_0x138fd9||stringOptions[_0x4533('0x13')];var _0xfd9409=crypto['createCipher'](_0x4c640c,_0x307bdd);var _0x44786f=_0xfd9409[_0x4533('0x14')](_0x513011,_0x4533('0x15'),_0x4533('0x16'));_0x44786f+=_0xfd9409[_0x4533('0x10')](_0x4533('0x16'));return _0x44786f;};exports[_0x4533('0x17')]=function(_0x27b653,_0x45ad98,_0x5f16bb){var _0x5c1e24=_0x5f16bb||stringOptions[_0x4533('0x9')];var _0x5aaf2d=_0x45ad98||stringOptions[_0x4533('0x13')];var _0x4e2b80=crypto[_0x4533('0xf')](_0x5c1e24,_0x5aaf2d);var _0x42ba2d=_0x4e2b80[_0x4533('0x14')](_0x27b653,_0x4533('0x16'),_0x4533('0x15'));_0x42ba2d+=_0x4e2b80[_0x4533('0x10')](_0x4533('0x15'));return _0x42ba2d;};