vue项目AES密码加密解密

首先,安装crypto-js 和 js-base64进行

npm install crypto-js --save-dev
npm install js-base64 --save 

定义全局函数

/**
 * 工具类
 */
// import Vue from 'vue'
import CryptoJS from 'crypto-js'
const Base64 = require('js-base64').Base64
// 电话参数加密 解密   (这个需要和后端约定加密解密参数)
var aesvikey = "NGRTQkFQSUpXVA==";
var aeskey = CryptoJS.enc.Utf8.parse(aesvikey);
var aesiv = CryptoJS.enc.Utf8.parse(aesvikey);
//解密
export function decrypt(word) {
    word = Base64.decode(word);
    var decryptStr = CryptoJS.AES.decrypt(word, aeskey, {
        iv: aesiv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.ZeroPadding,
    });
    return decryptStr.toString(CryptoJS.enc.Utf8);
}
//加密
export function encrypt(word) {
    var encryptStr = CryptoJS.AES.encrypt(word, aeskey, {
        iv: aesiv,
        mode: CryptoJS.mode.CBC
    });
    return encryptStr;
}

在需要用到此加密或者解密方法的页面,引入此方法(这里视在项目中的及具体路径而定)

import {encrypt} from '../../utils/encryption.js'

在使用的时候,【注】:加密的时候必须转成字符串 使用toString。 解密的时候 必须使用utf8的格式

obj.passWord = encrypt(this.loginForm.passWord).toString()

文章后面赋上参考其他同仁总结的前端js加密解密的方法链接:前端js几种加密/解密方法

你可能感兴趣的:(vue.js,前端,javascript)