Built motion from commit (unavailable).|2.5.7
[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 _0x9a5a=['secret','utf8','base64','decryptString','crypto','bluebird','../../config/environment','secrets','session','aes192','hasOwnProperty','encryptFile','createReadStream','createWriteStream','createCipher','algorithm','update','binary','write','end','close','decryptFile','createDecipher','data','final'];(function(_0x1573ea,_0x434f02){var _0x51c0e2=function(_0x5c9b28){while(--_0x5c9b28){_0x1573ea['push'](_0x1573ea['shift']());}};_0x51c0e2(++_0x434f02);}(_0x9a5a,0x194));var _0xa9a5=function(_0x529d3d,_0x209507){_0x529d3d=_0x529d3d-0x0;var _0x25c04e=_0x9a5a[_0x529d3d];return _0x25c04e;};'use strict';var crypto=require(_0xa9a5('0x0'));var fs=require('fs');var BPromise=require(_0xa9a5('0x1'));var config=require(_0xa9a5('0x2'));const stringOptions={'secret':config[_0xa9a5('0x3')][_0xa9a5('0x4')],'algorithm':'aes-256-ctr'};const fileOptions={'algorithm':_0xa9a5('0x5')};function combineOptions(_0x1e6fb1){var _0x230710={};for(var _0x1080a9 in fileOptions){if(fileOptions[_0xa9a5('0x6')](_0x1080a9)){_0x230710[_0x1080a9]=fileOptions[_0x1080a9];}}if(_0x1e6fb1){for(var _0x1ae623 in _0x1e6fb1){if(_0x1e6fb1['hasOwnProperty'](_0x1ae623)){_0x230710[_0x1ae623]=_0x1e6fb1[_0x1ae623];}}}return _0x230710;}exports[_0xa9a5('0x7')]=function(_0x37e93b,_0x20bbe8,_0x1eafa6,_0x24e1bd){return new BPromise(function(_0x5f2e83,_0x483b1e){_0x24e1bd=combineOptions(_0x24e1bd);var _0x57d90b=new Buffer(_0x1eafa6);var _0xc95120=fs[_0xa9a5('0x8')](_0x37e93b);var _0x186fcf=fs[_0xa9a5('0x9')](_0x20bbe8);var _0x158317=crypto[_0xa9a5('0xa')](_0x24e1bd[_0xa9a5('0xb')],_0x57d90b);_0xc95120['on']('data',function(_0x54b0b4){var _0x56f162=new Buffer(_0x158317[_0xa9a5('0xc')](_0x54b0b4),_0xa9a5('0xd'));_0x186fcf[_0xa9a5('0xe')](_0x56f162);});_0xc95120['on'](_0xa9a5('0xf'),function(){try{var _0x135279=new Buffer(_0x158317['final'](_0xa9a5('0xd')),_0xa9a5('0xd'));_0x186fcf[_0xa9a5('0xe')](_0x135279);_0x186fcf[_0xa9a5('0xf')]();_0x186fcf['on'](_0xa9a5('0x10'),function(){return _0x5f2e83(_0x20bbe8);});}catch(_0x137b45){fs['unlink'](_0x20bbe8);return _0x483b1e(_0x137b45);}});});};exports[_0xa9a5('0x11')]=function(_0x25c458,_0x476843,_0x1b5d78,_0x5bbfeb){return new BPromise(function(_0x3353ca,_0x106cbf){_0x5bbfeb=combineOptions(_0x5bbfeb);var _0xb8bed2=new Buffer(_0x1b5d78);var _0x5967f6=fs[_0xa9a5('0x8')](_0x25c458);var _0x4ba946=fs['createWriteStream'](_0x476843);var _0x2fb6bc=crypto[_0xa9a5('0x12')](_0x5bbfeb['algorithm'],_0xb8bed2);_0x5967f6['on'](_0xa9a5('0x13'),function(_0x5d05d5){var _0x89c4b9=new Buffer(_0x2fb6bc[_0xa9a5('0xc')](_0x5d05d5),_0xa9a5('0xd'));_0x4ba946[_0xa9a5('0xe')](_0x89c4b9);});_0x5967f6['on'](_0xa9a5('0xf'),function(){try{var _0x1cc402=new Buffer(_0x2fb6bc[_0xa9a5('0x14')](_0xa9a5('0xd')),_0xa9a5('0xd'));_0x4ba946[_0xa9a5('0xe')](_0x1cc402);_0x4ba946[_0xa9a5('0xf')]();_0x4ba946['on'](_0xa9a5('0x10'),function(){return _0x3353ca(_0x476843);});}catch(_0x50a31a){fs['unlink'](_0x476843);return _0x106cbf(_0x50a31a);}});});};exports['encryptString']=function(_0x43017d,_0x5210c1,_0x1c7ca5){var _0x198821=_0x1c7ca5||stringOptions[_0xa9a5('0xb')];var _0x5655b1=_0x5210c1||stringOptions[_0xa9a5('0x15')];var _0xb37bcb=crypto[_0xa9a5('0xa')](_0x198821,_0x5655b1);var _0x4f1076=_0xb37bcb['update'](_0x43017d,_0xa9a5('0x16'),_0xa9a5('0x17'));_0x4f1076+=_0xb37bcb[_0xa9a5('0x14')]('base64');return _0x4f1076;};exports[_0xa9a5('0x18')]=function(_0x45afca,_0x4edc3f,_0xda152d){var _0x474671=_0xda152d||stringOptions['algorithm'];var _0x11f6ce=_0x4edc3f||stringOptions['secret'];var _0x11366f=crypto['createDecipher'](_0x474671,_0x11f6ce);var _0x1a9832=_0x11366f[_0xa9a5('0xc')](_0x45afca,'base64','utf8');_0x1a9832+=_0x11366f[_0xa9a5('0x14')]('utf8');return _0x1a9832;};