vue使用AES加解密
AES是一种对称加密算法,加密解密使用相同的密钥。在前后端交互中,经常需要对数据进行加密,以保证数据传输的安全性。本文将介绍如何在vue项目中使用AES实现密码加密解密。
1、在vue项目中使用AES需要安装crypto-js这个库,可以通过npm安装:
npm install crypto-js
2.创建配置文件encryp.js 路径可以按照这个src/utils/encryp.js
const CryptoJS = require('crypto-js'); //引用AES源码js
var key = CryptoJS.enc.Utf8.parse("1954682168745975"); //十六位十六进制数作为秘钥
var iv = CryptoJS.enc.Utf8.parse("1954682168745975");//十六位十六进制数作为秘钥偏移量
//解密方法
export function Decrypt(word) {
var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
export function Encrypt(word) {
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
3、使用:直接使用即可
import { Encrypt } from "@/utils/encryption.js";
login() {
console.log("点击了登录");
const pass = Encrypt("abc,123,1628671141279");
console.log("明文", "abc,123,1628671141279");
console.log("加密后", pass);
},