项目中,为了安全性考虑,登录时会对账号密码进行加密,一般会通过MD5
、AES
进行加密,本文将介绍crypto-js
,也就是AES
方式在vue项目中加密的用法。
安装
npm install crypto-js
yarn add crypto-js
加密、解密方法封装
// 1、 引入crypto-js
let CryptoJS = require('crypto-js') // 或者import CryptoJS from 'crypto-js'
// 2、Crypto加密方法封装
const aesUtil = {
// 加密函數
encrypt: (word, keyStr) => {
if (word instanceof Object) {
//JSON.stringify
word = JSON.stringify(word)
}
var key = CryptoJS.enc.Utf8.parse(keyStr)
var encryptedObj = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(word), key,
{
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
},
)
return encryptedObj.toString()
},
// 解密函數
decrypt: (word, keyStr) => {
let key = CryptoJS.enc.Utf8.parse(keyStr)
let decrypt = CryptoJS.AES.decrypt(word, key,
{
mode:CryptoJS.mode.ECB,
padding:CryptoJS.pad.ZeroPadding,
},
)
let decString = CryptoJS.enc.Utf8.stringify(decrypt).toString();
return decString
},
}
方法调用
let key = "MIGfMA0GCSqGSIb3" // 可以自定义
let text = aesUtil.encrypt(userName, key)