美文网首页
前端数据加解密

前端数据加解密

作者: 香蕉不拿呢 | 来源:发表于2022-02-10 17:41 被阅读0次
    前言

    没有使用https协议时,数据没有加密,入网安全测评不通过
    这里记录一下数据加解密。

    一、封装加解密方法

    secret.js文件

    import CryptoJS from 'crypto-js'
    
    //解密方法
    export function Decrypt(word) {
        var key = CryptoJS.enc.Utf8.parse("bda#p*!xf0000000");
        let decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
        let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
        return decryptedStr.toString();
    }
    
    //加密方法
    export function Encrypt(word) {
        let srcs = word
        let key = CryptoJS.enc.Utf8.parse("bda#p*!xf0000000");
        let encrypted = CryptoJS.AES.encrypt(srcs, key,{
        //iv: key,
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7,
      });
      return encrypted.toString();
    }
    
    二、参数加解密
    import axios from 'axios'
    import {Decrypt,Encrypt} from './secret.js'
    const request = axios.create({
        baseURL: '',
        timeout: 60000, // 请求超时时间
    });
    request.interceptors.request.use((config) => {
        // 加解密
        config.data = {data:Encrypt(JSON.stringify(config.data))}
        return config;
    });
    request.interceptors.response.use((res) => {
        res.data = JSON.parse(Decrypt(res.data))
        return res;
    })
    export default request
    
    • 数据加密前


      加密前
    • 数据加密后
      把加密的数据放在keydata的对象里面
      加密后

    相关文章

      网友评论

          本文标题:前端数据加解密

          本文链接:https://www.haomeiwen.com/subject/tlswkrtx.html