vue项目中使用AES算法进行加密和解密

1.安装crypto-js依赖

npm install crypto-js

2.创建配置文件encryp.js 路径可以按照这个src/utils/encryp.js

import CryptoJS from "crypto-js";

export default {
	// 解密  data:要加密解密的数据,AES_KEY:密钥,IV:偏移量
	decrypt(data, AES_KEY, IV) {
		const key = CryptoJS.enc.Utf8.parse(AES_KEY);
		const iv = CryptoJS.enc.Utf8.parse(IV);
		const decrypt = CryptoJS.AES.decrypt(data, key, {
			iv,
			mode: CryptoJS.mode.CBC,
			padding: CryptoJS.pad.Pkcs7
		}).toString(CryptoJS.enc.Utf8);
		return decrypt;
	},
	// 加密
	encrypt(data, AES_KEY, IV) {
		const key = CryptoJS.enc.Utf8.parse(AES_KEY);
		const iv = CryptoJS.enc.Utf8.parse(IV);
		const encrypted = CryptoJS.AES.encrypt(data, key, {
			iv,
			mode: CryptoJS.mode.CBC,
			padding: CryptoJS.pad.Pkcs7
		});
		return encrypted.toString();
	}
};

3.使用
因为用的地方比较多我直接挂载在vue的prototype上方便我直接调用,在main.js中加加上以下代码。

import Crypto from "@/utils/encryp.js";
Vue.prototype.$crypto = Crypto;

4.具体项目使用

加密

this.$crypto.encrypt('需要加密后的串')

其中只有一个参数为需要加密的串



解密

this.$crypto.decrypt('加密后的串',AES__key,AES__iv)

其中所用到的三个参数后台都会提供

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