码迷,mamicode.com
首页 > 其他好文 > 详细

vue中 使用AES进行前端加密解密

时间:2020-07-03 17:14:53      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:nbsp   数据   span   json   data   pad   var   前端   ken   

因为项目中涉及到字符串的加密解密,这个过程是后台全权处理,但是我觉得前端加密解密更加灵活,这里记录下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
 
 

 

vue中 使用AES进行前端加密解密

标签:nbsp   数据   span   json   data   pad   var   前端   ken   

原文地址:https://www.cnblogs.com/feijiediyimei/p/13231382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!