zoukankan      html  css  js  c++  java
  • vue中 使用AES进行前端加密解密

    因为项目中涉及到字符串的加密解密,这个过程是后台全权处理,但是我觉得前端加密解密更加灵活,这里记录下AES前端加密解密的方法

    安装crypto-js: npm install crypto-js --save-dev

    //utils.js

    //首先声明两个变量,加密的时候要用到,要和后台沟通,保持一致
    const AES_KEY = '0D7FB71E8EC31E97';
    const IV = 'TRYTOCN394402133';
    /**
         * 接口数据加密函数
         * @param key string 加密key(16位)
         * @param iv string 加密向量(16位)
         */
    function encrypt(params) { var key = CryptoJS.enc.Utf8.parse(AES_KEY); var iv = CryptoJS.enc.Utf8.parse(IV); var jsonData = JSON.stringify(params); //下面的data参数要求是一个字符串,第一次用的时候我直接传递的是一个对象,出现了错误,要转换成字符串 var data = CryptoJS.enc.Utf8.parse(jsonData); var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString(); return encrypted; }
    /**
    *
    @param key string 加密key(16位)
    *@param iv string 加密向量(16位)
    *
    **/
    //解密
    function decrypt(word){
        var key = CryptoJS.enc.Utf8.parse("这里填解密的key(与加密key一样)");
        var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
        return CryptoJS.enc.Utf8.stringify(decrypt).toString();
    }
    export default {
        encrypt,decrypt
    }

    //文件用处引入
    utils.js import Utils from "./utils.js";
    eg:
    Utils.encrypt("hello world") ;
    Utils.decrypt('58vDC+ceIjxMub/lIKSAjYqHaZThH4xGyTW4gZxFJk265T7umRVGm/YcAABPbQZ/')//加密后的hello world
     
     
  • 相关阅读:
    rabbitmq fanout模式(发布订阅)
    rabbitmq php 限流
    rabbitmq 延迟队列 php
    rabbitmq 死信队列 php
    php rabbitmq发送消息并判断消息是否发送成功 ack comfirm机制
    php使用activemq
    golang 冒泡排序实现
    依耐项属性- 在需要使用的情况下添加
    Path 详解 之WPF
    WPF FrameWorkElement->UIElement->Visual
  • 原文地址:https://www.cnblogs.com/feijiediyimei/p/13231382.html
Copyright © 2011-2022 走看看