import JSEncrypt from 'jsencrypt'


/**
 * RSA 加密方法
 * @param data 需要加密的字符串
 * @returns 加密后的字符串
 */
export function encryptPassword(data: string): string {
  if (!data) return ''
  // 从环境变量获取公钥
  // import.meta.env.VITE_RSA_PUBLIC_KEY 在开发时由 Vite 注入
  const publicKey = import.meta.env.VITE_RSA_PUBLIC_KEY
  const encryptor = new JSEncrypt()
  console.log('打印公钥publicKey', publicKey)
  // 设置公钥
  encryptor.setPublicKey(publicKey)
  
  // 执行加密
  const encrypted = encryptor.encrypt(data)
  console.log('打印加密后的encrypted', encrypted)
  
  // encrypt 方法可能返回 false (当加密失败时)，这里做一个容错处理
  return encrypted || ''
}