【JavaScript】前端实现AES对称加密

AES介绍

AES简介

AES是一种经典的对称加密/解密算法,使用加密函数和密钥来完成对明文的加密,然后使用相同的密钥和对应的函数来完成解密

AES的参数

1. key length(密钥位数,密码长度)
2. key (密钥,密码)// 密钥:一个常量,前后端协定后一个字符串即可
3. IV (向量)// 偏移量:一个常量,前后端协定后一个字符串,前后端一致即可
4. mode (加密模式)
5. padding (填充方式)

新建tools.js 引入加密,解密方法


import CryptoJS from "@/common/aes.js"; //tools.js的位置
let tools = {
	//加密
	encrypt(word) {
		var key = CryptoJS.enc.Utf8.parse("abcdefg");
		var srcs = CryptoJS.enc.Utf8.parse(word);
		var encrypted = CryptoJS.AES.encrypt(srcs, key, {
			mode: CryptoJS.mode.ECB,
			padding: CryptoJS.pad.Pkcs7
		});
		return encrypted.toString();
	},
	//解密
	decrypt(word) {
		var key = CryptoJS.enc.Utf8.parse("abcdefg");
		var decrypt = CryptoJS.AES.decrypt(word, key, {
			mode: CryptoJS.mode.ECB,
			padding: CryptoJS.pad.Pkcs7
		});
		return CryptoJS.enc.Utf8.stringify(decrypt).toString();
	}

};

export default tools;

步骤二,页面引用

	import tools from "@/common/tools.js"; //tools.js的位置
	import CryptoJS from "@/common/aes.js";
	//使用
	onLoad(options) {
		let jiami = tools.encrypt("我要被加密了");
		console.log(jiami, "加密数据")
		let jiemi = tools.decrypt("xxxxxxxx");
		console.log(jiemi, "加密数据")
	},

aes.js文件(文件自取)

【JavaScript】前端实现AES对称加密_第1张图片

你可能感兴趣的:(【JavaScript】,javascript,前端,typescript)