微信小程序中使用crypto.js
crypto.js是用来进行AES加密的
注意AES在使用时有7个配置项,前后端加解密记着统一参数,测试时注意配置项的选择是否一致。
测试工具:
AES加密测试工具
下载crypto.js
npm i crypto-js --save
文章来源:https://www.toymoban.com/news/detail-504844.html
引入小程序中封装使用方法:
文件存放路径:
cryptoPro.js代码:文章来源地址https://www.toymoban.com/news/detail-504844.html
/**
* cryptoPro.js封装的参数
AES加密模式:CBC
填充:ZeroPadding
数据块:128位
密钥:'QWERDF0123456789'
偏移量:'QWERDF0123456789'
输出:hex
字符集:utf-8
*/
const CryptoJS = require('./crypto');//引入crypto
const aecConfig = {
mode: CryptoJS.mode.CBC,//AES加密模式
padding: CryptoJS.pad.ZeroPadding//填充
}
const ckey='QWERDF0123456789';//密钥
const civ='QWERDF0123456789';//偏移量
//加密方法
function AES_EN(text) {
let key = CryptoJS.enc.Utf8.parse(ckey);
let iv = CryptoJS.enc.Utf8.parse(civ);
const encrypted = CryptoJS.AES.encrypt(text, key, { iv, ...aecConfig })
return encrypted.ciphertext.toString()
}
//解密方法
function AES_DE(text) {
let key = CryptoJS.enc.Utf8.parse(ckey)
let iv = CryptoJS.enc.Utf8.parse(civ)
text = CryptoJS.enc.Hex.parse(text)
const decrypt = CryptoJS.AES.decrypt({ ciphertext: text }, key, { iv, ...aecConfig })
const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
return decryptedStr.toString()
}
export {
AES_EN, AES_DE
}
代码中使用
const crypto = require('../../utils/cryptoPro');//引入封装好的方法
//写在代码里:
let value=crypto.AES_EN("123456");
到了这里,关于微信小程序使用crypto.js加密解密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!