zoukankan      html  css  js  c++  java
  • 前端进行AES加密接口进行解密

    我这里使用的是"crypto-js": "4.0.0"

    1.在 axios.interceptors.response.use 返回接口中进行解密

                const CryptoJS = require('crypto-js');  //引用AES源码js
                    
                const key = CryptoJS.enc.Utf8.parse("key111");
                const iv = CryptoJS.enc.Utf8.parse('iv111');
    
                //AES解密方法
                function Decrypt(word) {
                    let decrypt = CryptoJS.AES.decrypt(word, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
                    let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
                    return decryptedStr;
                }
                // 返回结果只包含"data","success","abc"这3个key,并且"success"==true,"abc"==true 就把data解密,把解密后的结果返回
                            const keys = Object.keys(data);
                            if (keys.length === 3 && keys.includes('data') && keys.includes('success') && keys.includes('abc')) {
                                if (data.success && data.abc) {
                                    response.data = JSON.parse(Decrypt(data.data));
                                }
                            }
    

    使用AES加密

    import CryptoJS from 'crypto-js'
    cosnt data=this.aesEncrypt(params.data)//加密后返回的数据
    aesEncrypt(message) {
                const ivs = CryptoJS.enc.Utf8.parse('1234567890111111');
                const encrypted = CryptoJS.AES.encrypt(message,
                    CryptoJS.enc.Utf8.parse('d5e6b231d8c26g34'),
                    {
                        iv: ivs,
                        padding: CryptoJS.pad.Pkcs7,
                        mode: CryptoJS.mode.CBC
                    });
                return encrypted;//
            },
    
  • 相关阅读:
    面向对象第三单元博客作业
    面向对象编程第2次总结(电梯作业)
    面向对象编程第1次总结
    OOP 第四章博客总结
    OO 第三章总结
    OOP 第二章作业总结
    Java 设计模式 -- 代理模式
    ASID 与 MIPS 中 TLB 相关
    Java 锁机制总结
    OOP 第一章作业总结
  • 原文地址:https://www.cnblogs.com/wangliko/p/15688990.html
Copyright © 2011-2022 走看看