@wocker/ws
Version:
Docker workspace for web projects
20 lines (19 loc) • 758 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.encrypt = void 0;
const crypto_1 = __importDefault(require("crypto"));
const encrypt = (encryptedKey, value) => {
const iv = crypto_1.default.randomBytes(12), cipher = crypto_1.default.createCipheriv("aes-256-gcm", encryptedKey, iv);
let encrypted = cipher.update(value, "utf8", "base64");
encrypted += cipher.final("base64");
const authTag = cipher.getAuthTag();
return Buffer.concat([
iv,
authTag,
Buffer.from(encrypted, "base64")
]).toString("base64");
};
exports.encrypt = encrypt;