有些时候需要在前端将密码进行加密以防拦截,那就需要保证前端和后端的加解密需要统一。这里给大家简单演示AES在JavaScript前端加密解密
我们使用crypto-js插件
npm install crypto-js
import CryptoJS from 'crypto-js/crypto-js'
const key = "qwwe%^*yhu8976)("; //十六位十六进制数作为密钥
const iv = "UJHY@#$*0987&^%H";//十六位十六进制数作为密钥偏移量
//加密方法
function encrypt(text) {
return CryptoJS.AES.encrypt(text, CryptoJS.enc.Utf8.parse(key), {
iv: CryptoJS.enc.Utf8.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
}
//解密方法
function decrypt(text) {
let result = CryptoJS.AES.decrypt(text, CryptoJS.enc.Utf8.parse(key), {
iv: CryptoJS.enc.Utf8.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
})
return result.toString(CryptoJS.enc.Utf8)
}
export function getPassWord() {
if (Cookies.get(passWord)) {
return decrypt(Cookies.get(passWord))
} else {
return Cookies.get(passWord)
}
}
export function setPassWord(passWords) {
//return Cookies.set(passWord, passWords)
return Cookies.set(passWord, encrypt(passWords))
}
这里就简单的实现了,前端的加密解密