前端進行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;//
        },


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM