UNPKG

aes-pkcs

Version:

AES 128/256, CBC mode, PKCS #5/7 Paddiong, Base64 encoding

65 lines 2.27 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AesPkcs5 = void 0; var crypto = __importStar(require("crypto")); /** * Utility class for AES Encryption. * * - AES-128/256 * - CBC mode * - PKCS#5 Padding * - Base64 Encoding * * @author Jeongho Nam - https://github.com/samchon */ var AesPkcs5; (function (AesPkcs5) { /** * Encode data * * @param data Target data * @param key Key value of the encryption. * @param iv Initializer Vector for the encryption * @return Encoded data */ function encode(data, key, iv) { var bytes = key.length * 8; var cipher = crypto.createCipheriv("AES-" + bytes + "-CBC", key, iv); return cipher.update(data, "utf8", "base64") + cipher.final("base64"); } AesPkcs5.encode = encode; /** * Decode data. * * @param data Target data * @param key Key value of the decryption. * @param iv Initializer Vector for the decryption * @return Decoded data. */ function decode(data, key, iv) { var bytes = key.length * 8; var decipher = crypto.createDecipheriv("AES-" + bytes + "-CBC", key, iv); return decipher.update(data, "base64", "utf8") + decipher.final("utf8"); } AesPkcs5.decode = decode; })(AesPkcs5 = exports.AesPkcs5 || (exports.AesPkcs5 = {})); //# sourceMappingURL=AesPkcs5.js.map