Built motion from commit (unavailable).|2.0.70
[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 _0x76b9=['createWriteStream','data','update','binary','write','end','final','unlink','decryptFile','createDecipher','algorithm','close','bluebird','aes192','hasOwnProperty','encryptFile','createReadStream'];(function(_0x141dd5,_0x33c0c9){var _0x574f1e=function(_0x2f90c3){while(--_0x2f90c3){_0x141dd5['push'](_0x141dd5['shift']());}};_0x574f1e(++_0x33c0c9);}(_0x76b9,0xd8));var _0x976b=function(_0x5f5444,_0x23ff74){_0x5f5444=_0x5f5444-0x0;var _0x42f407=_0x76b9[_0x5f5444];return _0x42f407;};'use strict';var crypto=require('crypto');var fs=require('fs');var BPromise=require(_0x976b('0x0'));var defaultOptions={'algorithm':_0x976b('0x1')};function combineOptions(_0x31a70c){var _0x46e0b0={};for(var _0x119b6d in defaultOptions){if(defaultOptions['hasOwnProperty'](_0x119b6d)){_0x46e0b0[_0x119b6d]=defaultOptions[_0x119b6d];}}if(_0x31a70c){for(var _0x2a8803 in _0x31a70c){if(_0x31a70c[_0x976b('0x2')](_0x2a8803)){_0x46e0b0[_0x2a8803]=_0x31a70c[_0x2a8803];}}}return _0x46e0b0;}exports[_0x976b('0x3')]=function(_0x5e855f,_0x1e96f5,_0x41f20b,_0xd4f065){return new BPromise(function(_0x39b0c5,_0x950408){_0xd4f065=combineOptions(_0xd4f065);var _0x8893d0=new Buffer(_0x41f20b);var _0xa72ab3=fs[_0x976b('0x4')](_0x5e855f);var _0xfdd193=fs[_0x976b('0x5')](_0x1e96f5);var _0x4c6437=crypto['createCipher'](_0xd4f065['algorithm'],_0x8893d0);_0xa72ab3['on'](_0x976b('0x6'),function(_0x4189f8){var _0xaa8ce1=new Buffer(_0x4c6437[_0x976b('0x7')](_0x4189f8),_0x976b('0x8'));_0xfdd193[_0x976b('0x9')](_0xaa8ce1);});_0xa72ab3['on'](_0x976b('0xa'),function(){try{var _0xc403de=new Buffer(_0x4c6437[_0x976b('0xb')](_0x976b('0x8')),_0x976b('0x8'));_0xfdd193['write'](_0xc403de);_0xfdd193['end']();_0xfdd193['on']('close',function(){return _0x39b0c5(_0x1e96f5);});}catch(_0x5fcf60){fs[_0x976b('0xc')](_0x1e96f5);return _0x950408(_0x5fcf60);}});});};exports[_0x976b('0xd')]=function(_0x2f7760,_0x1b843c,_0x52e9c4,_0xcbb778){return new BPromise(function(_0x79f31c,_0x3dc54b){_0xcbb778=combineOptions(_0xcbb778);var _0x20b96e=new Buffer(_0x52e9c4);var _0x39e972=fs['createReadStream'](_0x2f7760);var _0x15d39d=fs[_0x976b('0x5')](_0x1b843c);var _0x23e276=crypto[_0x976b('0xe')](_0xcbb778[_0x976b('0xf')],_0x20b96e);_0x39e972['on'](_0x976b('0x6'),function(_0x10489f){var _0x246c94=new Buffer(_0x23e276['update'](_0x10489f),_0x976b('0x8'));_0x15d39d[_0x976b('0x9')](_0x246c94);});_0x39e972['on'](_0x976b('0xa'),function(){try{var _0x3612f5=new Buffer(_0x23e276[_0x976b('0xb')]('binary'),_0x976b('0x8'));_0x15d39d[_0x976b('0x9')](_0x3612f5);_0x15d39d['end']();_0x15d39d['on'](_0x976b('0x10'),function(){return _0x79f31c(_0x1b843c);});}catch(_0x4ca050){fs[_0x976b('0xc')](_0x1b843c);return _0x3dc54b(_0x4ca050);}});});};