vue数据加密/解密

使用的是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>

你可能感兴趣的:(前端,vue,笔记,vue.js,javascript,前端)