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

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

场景

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

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

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135819.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!