SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系)
迪丽瓦拉
2024-05-29 16:05:59
0

场景

若依前后端分离版本地搭建开发环境并运行项目的教程:

若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-CSDN博客

在上面搭建起来前后端架构之后,在前后端分别进行AES方式的加解密。

Android+Java中使用Aes对称加密的工具类与使用:

Android+Java中使用Aes对称加密的工具类与使用_霸道流氓气质的博客-CSDN博客

Java与Winform进行AES加解密数据传输的工具类与对应关系和示例:

Java与Winform进行AES加解密数据传输的工具类与对应关系和示例_霸道流氓气质的博客-CSDN博客

上面分别讲了在SpringBoot以及Android和Winform中的AES加解密的对应关系。

如果是SpringBoot与前端Vue进行交互的话,在Vue中如何进行AES加解密。

注意这里的对应关系

Java AES加密中的ECB加密模式对应于Vue中的CryptoJS.mode.ECB模式;

Java中的PKCS5Padding填充方式,对应于Vue中的CryptoJS.pad.Pkcs7;

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi 

实现

1、安装依赖

npm install crypto-js --save

2、封装加解密工具类

 import CryptoJS from 'crypto-js'export default {//加密encrypt(word, keyStr) {// 当未输入秘钥时,以下代码设置默认的秘钥keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';var key = CryptoJS.enc.Utf8.parse(keyStr);var srcs = CryptoJS.enc.Utf8.parse(word);var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return encrypted.toString();},//解密decrypt(word, keyStr) {// 当未输入秘钥时,以下代码设置默认的秘钥keyStr = keyStr ? keyStr : 'abcdefgabcdefg12';var key = CryptoJS.enc.Utf8.parse(keyStr);var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7,});return decrypt.toString(CryptoJS.enc.Utf8).toString();},//生成AES 16位秘钥getKey() {let len = 16;let chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz1234567890';let maxPos = chars.length;let character = '';for (let i = 0; i < len; i++) {character += chars.charAt(Math.floor(Math.random() * maxPos))}return character;}}

3、加解密调用


4、调用结果

 

相关内容