我是在uniapp項(xiàng)目里使用,AES加密也分幾種模式,我這里有CBC和ECB模式,ECB模式安全性差些但快
加密文件下載
下載好和封裝引用文章來源地址http://www.zghlxwxcb.cn/news/detail-597687.html
var CryptoJS = require("crypto-js");
/**
* AES加密
* 手機(jī)號(hào),密碼登錄等需要加密
* */
function AESencryption (e){
// console.log('aes加密',e)
var key = CryptoJS.enc.Utf8.parse("zhgerXHBVaaKm8xy")
var plaintText = e;
// var key1 = CryptoJS.enc.Latin1.parse(key);//key為密鑰,16位的字符串
// var iv1 = CryptoJS.enc.Latin1.parse(iv);//iv為偏移量,16位的字符串
//CBC加密
// var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
// iv: CryptoJS.enc.Utf8.parse(key),
// mode: CryptoJS.mode.CBC,
// padding: CryptoJS.pad.Pkcs7
// })
//ECB模式
var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
encryptedData = encryptedData.ciphertext.toString();
console.log("加密前:"+plaintText)
console.log(encryptedData)
console.log("什么玩意",typeof encryptedData)
return encryptedData;
//CBC解密
// var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData)
// console.log("解密前hex:"+encryptedHexStr)
// var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr)
// console.log("解密前:"+encryptedBase64Str)
// var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
// iv: CryptoJS.enc.Utf8.parse(key),
// mode: CryptoJS.mode.CBC,
// padding: CryptoJS.pad.Pkcs7
// })
// var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8)
// console.log("解密后:"+decryptedStr)
//ECB解密
//var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData)
//console.log("解密前hex:"+encryptedHexStr)
//var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr)
//console.log("解密前:"+encryptedBase64Str)
//var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7
//})
//var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8)
文章來源:http://www.zghlxwxcb.cn/news/detail-597687.html
到了這里,關(guān)于前端js使用AES加密的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!