微信小程序中使用crypto.js
crypto.js是用來進(jìn)行AES加密的
注意AES在使用時有7個配置項,前后端加解密記著統(tǒng)一參數(shù),測試時注意配置項的選擇是否一致。
測試工具:
AES加密測試工具
下載crypto.js
npm i crypto-js --save
文章來源:http://www.zghlxwxcb.cn/news/detail-504844.html
引入小程序中封裝使用方法:
文件存放路徑:
cryptoPro.js代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-504844.html
/**
* cryptoPro.js封裝的參數(shù)
AES加密模式:CBC
填充:ZeroPadding
數(shù)據(jù)塊: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");
到了這里,關(guān)于微信小程序使用crypto.js加密解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!