@churchapps/apihelper
Version:
Library of helper functions not specific to any one ChurchApps project or framework.
31 lines • 1.38 kB
JavaScript
;
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