did-sdk-js
Version:
js sdk for did and vc according to mcps did spec
43 lines • 1.82 kB
JavaScript
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
;