UNPKG

did-sdk-js

Version:

js sdk for did and vc according to mcps did spec

43 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Aes = exports.EncryptLevel = void 0; const utils_1 = require("../utils"); let CryptoJS = require("crypto-js"); var EncryptLevel; (function (EncryptLevel) { EncryptLevel[EncryptLevel["EncryptLevel1"] = 1] = "EncryptLevel1"; EncryptLevel[EncryptLevel["EncryptLevel2"] = 2] = "EncryptLevel2"; EncryptLevel[EncryptLevel["EncryptLevel3"] = 3] = "EncryptLevel3"; })(EncryptLevel = exports.EncryptLevel || (exports.EncryptLevel = {})); class Aes { static genRandomKey(level) { switch (level) { case EncryptLevel.EncryptLevel1: return utils_1.Utils.getRandomString(32); case EncryptLevel.EncryptLevel2: return utils_1.Utils.getRandomString(24); case EncryptLevel.EncryptLevel3: return utils_1.Utils.getRandomString(16); default: return utils_1.Utils.getRandomString(32); } } static encrypt(plainText, secretKey) { // return base64 string let key = CryptoJS.enc.Utf8.parse(secretKey); let cipher = CryptoJS.AES.encrypt(plainText, key, { iv: key, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).ciphertext.toString(); //ciphertext.toString(CryptoJS.enc.Base64) return Buffer.from(cipher, 'hex').toString('base64'); } static decrypt(cipherText, secretKey) { // from base64 cipher str let key = CryptoJS.enc.Utf8.parse(secretKey); return CryptoJS.AES.decrypt(cipherText, key, { iv: key, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString(CryptoJS.enc.Utf8); } } exports.Aes = Aes; //# sourceMappingURL=aes.js.map