天天看點

uniapp實作AES加密解密(純前端)

*AES加密解密線上網站 http://www.ip33.com/crypto/aes.html

uniapp實作AES加密解密(純前端)

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
我是看着然後二改的