// 简单的密码加密/解密工具(Base64编码 + 简单混淆) // 注意:这不是强加密,只是防止密码明文存储 const SECRET_KEY = 'QIANGBAO_AI_JIZHANG_2024' // 密钥 /** * 加密密码 * @param {string} password - 原始密码 * @returns {string} - 加密后的密码 */ export function encryptPassword(password) { if (!password) return '' try { // 1. 将密码转为字符数组 const chars = password.split('') // 2. 与密钥进行简单的XOR混淆 const encrypted = chars.map((char, index) => { const keyChar = SECRET_KEY[index % SECRET_KEY.length] return String.fromCharCode(char.charCodeAt(0) ^ keyChar.charCodeAt(0)) }).join('') // 3. Base64编码 return btoa(unescape(encodeURIComponent(encrypted))) } catch (error) { console.error('密码加密失败:', error) return password // 失败时返回原密码 } } /** * 解密密码 * @param {string} encryptedPassword - 加密的密码 * @returns {string} - 解密后的密码 */ export function decryptPassword(encryptedPassword) { if (!encryptedPassword) return '' try { // 1. Base64解码 const decoded = decodeURIComponent(escape(atob(encryptedPassword))) // 2. 与密钥进行XOR反混淆 const chars = decoded.split('') const decrypted = chars.map((char, index) => { const keyChar = SECRET_KEY[index % SECRET_KEY.length] return String.fromCharCode(char.charCodeAt(0) ^ keyChar.charCodeAt(0)) }).join('') return decrypted } catch (error) { console.error('密码解密失败:', error) return '' // 失败时返回空字符串 } }