Built motion from commit (unavailable).|2.4.0
[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 _0x8861=['createWriteStream','createDecipher','algorithm','unlink','crypto','aes192','hasOwnProperty','encryptFile','createReadStream','createCipher','update','binary','write','end','final','close','decryptFile'];(function(_0x1583a0,_0x902eb2){var _0x33df74=function(_0x1ac04b){while(--_0x1ac04b){_0x1583a0['push'](_0x1583a0['shift']());}};_0x33df74(++_0x902eb2);}(_0x8861,0x125));var _0x1886=function(_0x1ea67e,_0x2f43c5){_0x1ea67e=_0x1ea67e-0x0;var _0x1d05fa=_0x8861[_0x1ea67e];return _0x1d05fa;};'use strict';var crypto=require(_0x1886('0x0'));var fs=require('fs');var BPromise=require('bluebird');var defaultOptions={'algorithm':_0x1886('0x1')};function combineOptions(_0x454ece){var _0x223091={};for(var _0x2097e2 in defaultOptions){if(defaultOptions[_0x1886('0x2')](_0x2097e2)){_0x223091[_0x2097e2]=defaultOptions[_0x2097e2];}}if(_0x454ece){for(var _0x4ab24f in _0x454ece){if(_0x454ece[_0x1886('0x2')](_0x4ab24f)){_0x223091[_0x4ab24f]=_0x454ece[_0x4ab24f];}}}return _0x223091;}exports[_0x1886('0x3')]=function(_0xcc2bd,_0x15ae73,_0x1de2ba,_0x417a68){return new BPromise(function(_0x31f72f,_0x1e7188){_0x417a68=combineOptions(_0x417a68);var _0x245e33=new Buffer(_0x1de2ba);var _0x59c3f4=fs[_0x1886('0x4')](_0xcc2bd);var _0x2f5076=fs['createWriteStream'](_0x15ae73);var _0xb747f0=crypto[_0x1886('0x5')](_0x417a68['algorithm'],_0x245e33);_0x59c3f4['on']('data',function(_0x7234fc){var _0xc19b32=new Buffer(_0xb747f0[_0x1886('0x6')](_0x7234fc),_0x1886('0x7'));_0x2f5076[_0x1886('0x8')](_0xc19b32);});_0x59c3f4['on'](_0x1886('0x9'),function(){try{var _0x16a53e=new Buffer(_0xb747f0[_0x1886('0xa')](_0x1886('0x7')),_0x1886('0x7'));_0x2f5076[_0x1886('0x8')](_0x16a53e);_0x2f5076[_0x1886('0x9')]();_0x2f5076['on'](_0x1886('0xb'),function(){return _0x31f72f(_0x15ae73);});}catch(_0x102807){fs['unlink'](_0x15ae73);return _0x1e7188(_0x102807);}});});};exports[_0x1886('0xc')]=function(_0x5f3312,_0x497088,_0x2105f0,_0x5a4528){return new BPromise(function(_0x355b3b,_0x4f1ab6){_0x5a4528=combineOptions(_0x5a4528);var _0x2259ff=new Buffer(_0x2105f0);var _0x25913e=fs[_0x1886('0x4')](_0x5f3312);var _0xe33a50=fs[_0x1886('0xd')](_0x497088);var _0x4efb47=crypto[_0x1886('0xe')](_0x5a4528[_0x1886('0xf')],_0x2259ff);_0x25913e['on']('data',function(_0x33817a){var _0xe58b5c=new Buffer(_0x4efb47[_0x1886('0x6')](_0x33817a),_0x1886('0x7'));_0xe33a50[_0x1886('0x8')](_0xe58b5c);});_0x25913e['on'](_0x1886('0x9'),function(){try{var _0x222e1a=new Buffer(_0x4efb47['final'](_0x1886('0x7')),_0x1886('0x7'));_0xe33a50[_0x1886('0x8')](_0x222e1a);_0xe33a50[_0x1886('0x9')]();_0xe33a50['on'](_0x1886('0xb'),function(){return _0x355b3b(_0x497088);});}catch(_0x475555){fs[_0x1886('0x10')](_0x497088);return _0x4f1ab6(_0x475555);}});});};