使用的是crypto-js来进行加密和解密
先下载安装依赖:
npm install crypto-js -s
如果使用的是ts:
npm install crypto-js @types/crypto-js
封装方法文件utils:
import CryptoJS from 'crypto-js'
/**
* CryptoJS 加密
*
* @param {String} encryptData 需要加密数据
* @returns 加密后的数据
* @memberof Utils
*/
export const encrypt = (encryptData) => {
var key = CryptoJS.enc.Utf8.parse('as-Crypto-js')
var srcs = CryptoJS.enc.Utf8.parse(encryptData)
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.toString()
}
/**
* CryptoJS 解密
*
* @param {String} encryptData 需要加密数据
* @returns 解密后的数据
* @memberof Utils
*/
export const decrypt = (encryptData) => {
var key = CryptoJS.enc.Utf8.parse('as-Crypto-js')
var decrypt = CryptoJS.AES.decrypt(encryptData, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
}
使用案例:
<script setup>
import {encrypt,decrypt} from '@/utils'
// 原数据
const obj = {
username: '孤傲',
password: 'Aos',
}
// 加密数据
const encryptData = encrypt(JSON.stringify(obj))
// 解密数据
const decryptData = JSON.parse(decrypt(encryptData))
console.log(obj,decryptData,encryptData,'https://blog.csdn.net/weixin_45292658')
</script>