SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系)

118 篇文章 13 订阅

场景

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

若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓气质的博客-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、加解密调用

<template lang="html">

</template>

<script>
import AES from "@/utils/aes";
export default {
  name: "aesEncrpt",
  data() {},
  mounted() {
    var key = "badaodechengxvyu";
    var ss = AES.encrypt("https://blog.csdn.net/BADAO_LIUMANG_QIZHI", key);
    console.log("AES加密:" + ss);
    console.log("AES解密 : " + AES.decrypt(ss, key));
  },
  methods: {

  },
};
</script>

<style lang="css">
</style>

4、调用结果

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值