UNPKG

@63pokupki/nodejs-common

Version:
44 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mDecrypt = exports.mEncrypt = exports.CryptAlgT = void 0; const crypto_1 = require("crypto"); var CryptAlgT; (function (CryptAlgT) { CryptAlgT["RC4"] = "rc4"; CryptAlgT["AES256CTR"] = "aes-256-ctr"; CryptAlgT["AES256CBC"] = "aes-256-cbc"; })(CryptAlgT = exports.CryptAlgT || (exports.CryptAlgT = {})); /** * Шифрование данных * @param alg - Алгоритм шифровани * @param key - ключ 48 символов * @param data - данные для шифрования * @returns */ function mEncrypt(alg, key, data) { if ((key === null || key === void 0 ? void 0 : key.length) != 48) { console.log('mEncrypt.key - должен быть 48 символов'); } const pass = key.substr(0, 32); const iv = key.substr(32, 16); const vCipher = (0, crypto_1.createCipheriv)(alg, pass, iv); let sEncrypted = vCipher.update(data, 'utf8', 'hex'); sEncrypted += vCipher.final('hex'); return sEncrypted; } exports.mEncrypt = mEncrypt; // Расшифровать данные function mDecrypt(alg, key, sEncrypted) { if ((key === null || key === void 0 ? void 0 : key.length) != 48) { console.log('mDecrypt.key - должен быть 48 символов'); } const pass = key.substr(0, 32); const iv = key.substr(32, 16); let sDecrypted = ""; var vDecipher = (0, crypto_1.createDecipheriv)(alg, pass, iv); sDecrypted += vDecipher.update(sEncrypted, 'hex', 'utf8'); sDecrypted += vDecipher.final('utf8'); return sDecrypted; } exports.mDecrypt = mDecrypt; //# sourceMappingURL=CryptoH.js.map