Newer
Older
smartwell_front / src / utils / security1.ts
liyaguang 24 days ago 2 KB 用户批量加密功能
import JsEncrypt from 'jsencrypt'
const encodedString = 'encrypt'.charCodeAt(0) - 3
export const getencodedString = () => {
  return encodedString
}
// 简易加密  加密结果 + encodedString  =   结果
export function encrypt(str) {
  if (!str) {
    return ''
  }
  let encryptedStr = '';
  // 遍历每个字符并进行加密
  for (let i = 0; i < str.length; i++) {
    // 将字符转换为 ASCII 码并加上常量 10
    let encryptedCharCode = str.charCodeAt(i) + 10;
    // 将加密后的字符拼接起来
    encryptedStr += String.fromCharCode(encryptedCharCode);
  }
  // 返回加密后的字符串
  return `${encryptedStr},${encodedString}`;
}
export function encryptNoCodedString(str) {
  if (!str) {
    return ''
  }
  let encryptedStr = '';
  // 遍历每个字符并进行加密
  for (let i = 0; i < str.length; i++) {
    // 将字符转换为 ASCII 码并加上常量 10
    let encryptedCharCode = str.charCodeAt(i) + 10;
    // 将加密后的字符拼接起来
    encryptedStr += String.fromCharCode(encryptedCharCode);
  }
  // 返回加密后的字符串
  return `${encryptedStr}`;
}
// 判断是否加密
export function isEncrypt(str) {
  if (str.includes(`,${encodedString}`) || !str) {
    return true
  }
  else {
    return false
  }
}
export function decrypt(str) {
  if (!str) {
    return ''
  }
  if (!isEncrypt(str)) {
    return str
  }
  let decryptedNum = '';
  str = str.split(`,${encodedString}`)[0]
  // 遍历每个字符并进行解密
  for (let i = 0; i < str.length; i++) {
    // 将字符转换为 ASCII 码并减去常量 10
    let decryptedCharCode = str.charCodeAt(i) - 10;
    // 将解密后的 ASCII 码转换为数字并拼接起来
    decryptedNum += String.fromCharCode(decryptedCharCode);
  }
  // 将字符串转换为数字并返回
  return decryptedNum
  // return parseInt(decryptedNum);
}

// rsa加密
let publicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCu5k8gcTFJy5UtMfmtKiR3f/EcUe93kzfteRj6+sM5fHRvOib82+uqQMjgaRZiMcr3HiHIFY5vA6c+Rfb5R2COitoOhxyA9U2eLXknzxLUQIAqXAvKQO8KnerA1Qjcds7xhJB2XPhWFlY4RVtMT2wr2lMd29QDE4F/kzyDhNBpxwIDAQAB'
export function RSAencrypt(value: string) {
  const encrypt = new JsEncrypt()
  let enRes = ''
  encrypt.setPublicKey(publicKey)// 从store中读取公钥
  enRes = encrypt.encrypt(value) || ''

  // console.log(enRes, 'enRes')
  return enRes
}