vue、uniapp 使用crypto-js库进行AES加密
在Vue或UniApp项目中使用CryptoJS库进行AES加密,首先需要安装CryptoJS库。
- 安装CryptoJS库:
npm install crypto-js
- 在Vue或UniApp组件中引入CryptoJS库并使用AES加密功能:
// 引入CryptoJS库
import CryptoJS from 'crypto-js'
export default {
methods: {
encryptData(data) {
// 设置密钥和向量
const key = CryptoJS.enc.Utf8.parse('1234567812345678');
const iv = CryptoJS.enc.Utf8.parse('1234567812345678');
// 数据需要是字符串
const stringData = JSON.stringify(data);
// 使用AES加密
const encrypted = CryptoJS.AES.encrypt(stringData, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 返回Base64编码的字符串
return encrypted.toString();
},
decryptData(encryptedData) {
// 解码Base64数据
const base64Decrypted = CryptoJS.enc.Base64.parse(encryptedData);
// 设置密钥和向量
const key = CryptoJS.enc.Utf8.parse('1234567812345678');
const iv = CryptoJS.enc.Utf8.parse('1234567812345678');
// 使用AES解密
const decrypted = CryptoJS.AES.decrypt({ ciphertext: base64Decrypted }, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 将解密后的数据转换为字符串
return decrypted.toString(CryptoJS.enc.Utf8);
}
}
}
在上述代码中,encryptData
方法用于加密数据,而decryptData
方法用于解密数据。密钥和向量需要保密,确保安全性。在实际应用中,应该从安全的地方获取这些密钥和向量,例如服务器端。
评论已关闭