Browse Source

feat:[试验管理]新增加密

lkf
15881625488@163.com 3 months ago
parent
commit
b846fea1c6
1 changed files with 36 additions and 0 deletions
  1. +36
    -0
      src/utils/encryptUtil.js

+ 36
- 0
src/utils/encryptUtil.js View File

@ -0,0 +1,36 @@
const CRYPTOJSKEY = '7LrjnqHv2mS5Qr5s'
import CryptoJS from 'crypto-js'
export function encrypt(plaintText) {
var plaintText = plaintText
var options = {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}
var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY)
var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options)
var encryptedBase64Str = encryptedData.toString().replace(/\//g, '_')
encryptedBase64Str = encryptedBase64Str.replace(/\+/g, '-')
return encryptedBase64Str
}
export function decrypt(encryptedText) {
// 还原 URL 安全字符
let encryptedBase64Str = encryptedText
.replace(/_/g, '/') // 还原 _
.replace(/-/g, '+') // 还原 -
// 补充末尾的 =(如果需要)
const mod4 = encryptedBase64Str.length % 4
if (mod4) {
encryptedBase64Str += '='.repeat(4 - mod4)
}
try {
const key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY)
const decrypt = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
} catch (e) {
console.error('解密失败:', e)
return null
}
}

Loading…
Cancel
Save