// 文本加密 import { sm4 } from "sm-crypto"; const DEFAULT_KEY = "cda4442f102f6396eea76902e37ad7cb"; const DEFAULT_IV = "8bd8a83221742111c7532b7275a7fe9c"; export const encrypt = (str) => { if (!str) { return ""; } const encryptStr = sm4.encrypt(str, DEFAULT_KEY, { iv: DEFAULT_IV, mode: "cbc", padding: "pkcs#7", }); return encryptStr; }; // 文本解密 export const decrypt = (str) => { if (!str) { return ""; } //     if(str.indexOf('ENC(') === -1) { //         return str //     } //     const str_ = str.replace('ENC(', '').replace(')', '') try { const decryptStr = sm4.decrypt(str, DEFAULT_KEY, { iv: DEFAULT_IV, mode: "cbc", padding: "pkcs#7", }); return decryptStr; } catch (error) { return "解密失败!"; } }; // 批量加密 export const decryptall = (obj, isjmlist) => { let list = []; let objnew = {}; for (let key in obj) { let item = { typeis: "2", //是否加密 1加密 2不加密 keyname: key, //变量名 value: obj[key], //值 }; if (isjmlist.length > 0) { // let found = isjmlist.find(function(element) { // return key == element; // }); console.log(isjmlist.indexOf(key) != -1); if (isjmlist.indexOf(key) != -1) { item.typeis = "1"; } } else { item.typeis = "1"; } list.push(item); } list.forEach((element) => { if (element.typeis == "1" && element.value) { console.error(element); element.value = encrypt(element.value); } objnew[element.keyname] = element.value; }); return objnew; }; // 批量解密 export const encryptall = (list, isjmlist) => { let newlist = list.map((element) => { let c1 = Object.keys(element); c1.forEach((key) => { if (isjmlist.length > 0) { console.log(isjmlist.indexOf(key) != -1); if (isjmlist.indexOf(key) != -1) { element[key] = decrypt(element[key]); } } else { element[key] = decrypt(element[key]); } }); return element; }); return newlist; };