UNPKG

@churchapps/apihelper

Version:

Library of helper functions not specific to any one ChurchApps project or framework.

31 lines 1.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EncryptionHelper = void 0; const crypto_1 = __importDefault(require("crypto")); const _1 = require("."); class EncryptionHelper { } exports.EncryptionHelper = EncryptionHelper; EncryptionHelper.algorithm = 'aes-256-ctr'; EncryptionHelper.encrypt = (plainValue) => { const iv = crypto_1.default.randomBytes(16); const cipher = crypto_1.default.createCipheriv(EncryptionHelper.algorithm, _1.EnvironmentBase.encryptionKey, iv); const encrypted = Buffer.concat([cipher.update(plainValue), cipher.final()]); return iv.toString('base64') + "|" + encrypted.toString('base64'); }; EncryptionHelper.decrypt = (encryptedPair) => { const parts = encryptedPair.split("|"); if (parts.length !== 2) return ""; else { const iv = Buffer.from(parts[0], 'base64'); const content = Buffer.from(parts[1], 'base64'); const decipher = crypto_1.default.createDecipheriv(EncryptionHelper.algorithm, _1.EnvironmentBase.encryptionKey, iv); const decrpyted = Buffer.concat([decipher.update(content), decipher.final()]); return decrpyted.toString(); } }; //# sourceMappingURL=EncryptionHelper.js.map