uniapp实现AES加密解密(纯前端)

*AES加密解密在线网站 http://www.ip33.com/crypto/aes.html
uniapp实现AES加密解密(纯前端)_第1张图片


uniapp实现AES加密解密(纯前端)-方法


一、页面中引入、调用

import tools from "../../static/js/tools.js";//tools.js的位置
//加密
let datajAes = tools.setAES('69703333'); // 4be4af2aa167c4bb6c07d5a7c8eae3ec
//解密
let dataresultAes = tools.decryptAES("4be4af2aa167c4bb6c07d5a7c8eae3ec"); // 69703333

二、AES 加密、解密

1、安装 crypto-js

// 如果npm无法安装,可以尝试 cnpm
npm i crypto-js -S

2、一般封装使用 tools.js

import CryptoJS from "crypto-js";
// import CryptoJS from "../../node_modules/crypto-js/crypto-js.js";//一般npm以后都是这个位置
let KEY = '自己的key'
let IV = '';//我感觉可以不写,反正我没有写(看你们需求)
let tools = {
	/*aes加密*/
	setAES(str) {
		const data = CryptoJS.enc.Hex.parse(str);
		const key = CryptoJS.enc.Hex.parse(KEY);
		const iv = CryptoJS.enc.Hex.parse(IV);
		var option = {
			iv: iv,
			mode: CryptoJS.mode['CBC'],//看需求变“CBC”
			padding: CryptoJS.pad['ZeroPadding']//看需求变“ZeroPadding”
		};
		var encrypted = CryptoJS.AES.encrypt(data, key, option);
		const words = encrypted.ciphertext;
		var hex = CryptoJS.enc.Hex.stringify(words);
		return hex
	},
	/*aes解密*/
	decryptAES(str) {
		console.log("str", str)
		let data = CryptoJS.enc.Hex.parse(str);
		const key = CryptoJS.enc.Hex.parse(KEY);
		const iv = CryptoJS.enc.Hex.parse(IV);
		var option = {
			iv: iv,
			mode: CryptoJS.mode['CBC'],//看需求变“CBC”
			padding: CryptoJS.pad['ZeroPadding']//看需求变“ZeroPadding”
		};
		data = CryptoJS.enc.Base64.stringify(data);
		const words = CryptoJS.AES.decrypt(data, key, option);
		var hex = CryptoJS.enc.Hex.stringify(words);
		return hex
	}

};

export default tools;

有用就点个赞。,白嫖不灵的
*如果没用可以参考 https://blog.csdn.net/tjcjava/article/details/115708067
我是看着然后二改的

你可能感兴趣的:(技术问题,AES加密和解密,vue)