首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VUE——APP,后端,前端三端AES加密解密

VUE——APP,后端,前端三端AES加密解密

作者头像
思索
发布2024-08-16 13:24:44
发布2024-08-16 13:24:44
19700
代码可运行
举报
运行总次数:0
代码可运行

前言

为了数据的安全,所以三端消息需要进行加密解密传输

步骤

安装crypto-js

代码语言:javascript
代码运行次数:0
运行
复制
npm install crypto-js

加密解密方法

先AES加密,然后base64加密

代码语言:javascript
代码运行次数:0
运行
复制
import CryptoJS from 'crypto-js/crypto-js'
import {aesKey, aesIv} from '@/config'

/**
 * AES加密
 */
export function Encrypt(data) {
  let encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data), CryptoJS.enc.Utf8.parse(aesKey), {
    iv: CryptoJS.enc.Utf8.parse(aesIv),
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  return CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
}

/**
 * AES 解密
 */
export function Decrypt(data) {
  let decrypt = CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(data)), CryptoJS.enc.Utf8.parse(aesKey), {
    iv: CryptoJS.enc.Utf8.parse(aesIv),
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
  return decryptedStr.toString()
}

注意事项

代码语言:javascript
代码运行次数:0
运行
复制
1. key和iv都需要设置
2. mode请使用ECB
3. padding请使用Pkcs7
4. 安卓端的加密传输到前端和后端都有换行,需要先去除换行符
   Decrypt(JSON.stringify(content.data.replace(/\n/g,'')).replace(/[\"]/g,''))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 步骤
    • 安装crypto-js
    • 加密解密方法
    • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档