0%

微信小程序对称加密

crypto-js

利用crypto-js这个Java包来实现数据的加密解密

引入Java包

1
npm install crypto-js

image-20240519204321372

然后小程序中就有这么一个文件夹

image-20240519204355653

将文件夹内的crypto-js.js复制到需要用到加密的页面下,如:

image-20240519204449695

加密解密

先引用crypto-js

1
const CryptoJs = require('crypto-js');

AES加密存在一个key值和一个iv值

定义密钥和初始化向量

1
2
var key = CryptoJS.enc.Utf8.parse('0123456789abcdef'); // 定义密钥
var iv = CryptoJS.enc.Utf8.parse('abcdef0123456789');// 定义初始化向量

进行加密

1
2
3
var encrypted = CryptoJs.AEs.encrypt('hello world', key, { iv: iv );
var date = encrypted.tostring()
//date就是加密后的数据

数据拿回来的时候同样需要解密

1
2
var decrypted = CryptoJs.AES.decrypt(date, key, { iv: iv });
console.log(decrypted.toString(CryptoJs.enc.Utf8)); // 输出解密后的数据

image-20240713213602201