import { createRsaPair, base64Decode, base64Encode, defaultTextCipherOptions, aesEncryptText, } from "@/uni_modules/laoqianjunzi-crypto"; export class Crypto { /** * 随机生成32位的字符串 * @returns {string} */ static generateRandomString(length = 16) : string { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' let result = '' for (let i = 0; i < length; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)) } return result } /** * 随机生成aes 密钥 * @returns {string} */ static generateAesKey() : string { return Crypto.generateRandomString(16); } /** * 加密base64 * @returns {string} */ static encryptBase64(str : string) : string { return base64Encode(str); } /** * 解密base64 */ static decryptBase64(str : string) : string { return base64Decode(str); } /** * 使用密钥对数据进行加密 * @param message * @param aesKey * @returns {string} */ static encryptWithAes(data : any, aesKey : string) : string { // AES配置 const options = defaultTextCipherOptions() options.mode = 'ECB' options.padding = 'PKCS7' options.keyLength = 128 // 请求体JSON const json = JSON.stringify(data) return aesEncryptText(aesKey, json, options); } /** * 使用密钥对数据进行解密 * @param message * @param aesKey * @returns {string} */ static decryptWithAes() : string { return ''; } }