加密&解密

2020-04-30  本文已影响0人  孤独的豺狼

我们在写项目的时候有很多时候都会使用到加密数据,当然很多情况下都是后端给的我们加密的值,也有时候我们需要自己进行加密,下面我就给大家介绍一下在vue项目中是如何进行加密解密的

下载模块
cnpm i crypto-js -S
新建utils.js文件
import Vue from 'vue'
import CryptoJS from 'crypto-js'
export default {//加密
  encrypt(word, keyStr){
//word是需要解密的内容
//keyStr 必须是16位,不然可以加密,但是在解密的时候回出现问题 
    keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    console.log(encrypted.toString())
    return encrypted.toString();
  },
  //解密
  decrypt(word, keyStr){  
    keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);
    var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  }
}
页面中引入
import utils from "../utils/utils.js"//根据自己的路径来写
页面中使用
        //第一次加密,我传入了一个自己定义的16位key值
        var a=utils.encrypt("***","1324561546546546");
        //第二次加密,没有传值,使用默认key值
        var c=utils.encrypt(a);
        //这是解第二次密
        var b=utils.decrypt(c);
        //解第一次密,获取到加密的值
        var d=utils.decrypt(b,"1324561546546546")
        console.log(c);
        console.log(d);
上一篇下一篇

猜你喜欢

热点阅读