当使用localStorage存储用户信息时,为了增加安全性,可以对用户信息进行加密和解密。下面是一个使用AES算法进行加密和解密的示例代码:
// 导入crypto-js库
const CryptoJS = require('crypto-js');
// 加密函数
function encryptData(data, key) {
// 将数据转换为字符串
const dataStr = JSON.stringify(data);
// 使用AES算法进行加密
const encryptedData = CryptoJS.AES.encrypt(dataStr, key).toString();
// 返回加密后的数据
return encryptedData;
}
// 解密函数
function decryptData(encryptedData, key) {
// 使用AES算法进行解密
const decryptedData = CryptoJS.AES.decrypt(encryptedData, key).toString(CryptoJS.enc.Utf8);
// 将解密后的字符串转换为对象
const data = JSON.parse(decryptedData);
// 返回解密后的数据
return data;
}
// 示例使用
const user = { username: 'Alice', password: '123456' };
const secretKey = 'my-secret-key';
// 加密用户信息
const encryptedUserInfo = encryptData(user, secretKey);
console.log('加密后的用户信息:', encryptedUserInfo);
// 解密用户信息
const decryptedUserInfo = dec