// 引入 miniprogram-sm-crypto 库中的 SM2 模块 const sm2 = require("miniprogram-sm-crypto").sm2; const cipherMode = 1 // 1 - C1C3C2,0 - C1C2C3,默认为1 const publicKey = '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54' const privateKey = '' // SM2加密函数 function sm2Encrypt(msgString) { let msg = msgString; // 检查传入的消息是否为字符串,如果不是字符串则转换为 JSON 字符串 if (typeof msgString !== "string") { msg = JSON.stringify(msgString); } // 使用 SM2 加密算法对消息进行加密 let encryptData = sm2.doEncrypt(msg, publicKey, cipherMode); // 加密结果 return encryptData; } // SM2解密函数 function sm2Decrypt(msgString) { // 使用 SM2 解密算法对消息进行解密 let decryptData = sm2.doDecrypt(msgString, privateKey, cipherMode); // 解密结果 return decryptData; } // 导出加密和解密函数 module.exports = { sm2Encrypt, sm2Decrypt, };