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


    前言

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

    步骤

    安装crypto-js

    npm install crypto-js
    

    加密解密方法

    先AES加密,然后base64加密

    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()
    }
    
    

    注意事项

    1. key和iv都需要设置
    2. mode请使用ECB
    3. padding请使用Pkcs7
    4. 安卓端的加密传输到前端和后端都有换行,需要先去除换行符
       Decrypt(JSON.stringify(content.data.replace(/
    /g,'')).replace(/["]/g,''))
    
  • 相关阅读:
    xargs命令
    grep命令详细解析 --非原创 原作者ggjucheng
    centos如何安装Python3
    Custom Draw 基础(转载)
    Make 命令教程(转载)
    选择Blobs (Evision)
    图像预处理(Evision)
    一个野生程序员开博日
    Ubuntu 14.04 apt源更新
    python核心编程3-13
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/13691961.html
Copyright © 2020-2023  润新知