RSA+AES混合加密实例
文章目录
- 前言
- 一、AES+RSA混合加密是什么?
- 二、使用步骤
- 1.引入库
- 2.RAS+AES加密工具类
- 总结
- Learning Process:
- 希望可以给你带来帮助!!!
前言
在服务器与终端设备进行HTTP通讯时,常常会被网络抓包、反编译等技术得到HTTP通讯接口地址和参数。为了确保信息的安全,在生产中使用了很多种加密手段。现如今,RSA+AES因加密技术高、安全系数高等优势,成为当今主流手段。2022年,为了提高毕业设计的难度,毫无疑问选择了数据加密(我的毕业设计就是信息管理系统-强烈推荐使用mybatis-plus代码生成器,后端代码就很简单了),在数据加密方案的选择中,经过大量的查询加密技术进行比较,选择了RSA+AES方案。
提示:以下是本篇文章正文内容,下面案例可供参考
一、AES+RSA混合加密是什么?
RSA加密属于非对称加密,理解为由公钥推出私钥,公钥加密,私钥解密,这就是非对称加密。RSA加密最多117个字节,超过117个字节的数据就会报错,所以在RSA+AES混合加密方案中,用RSA的公钥去加密AES的密钥。
AES加密属于对称加密,理解为公钥与私钥可以相互推出,在实际的加密中用AES密钥(AES密钥实际是一个并不是区分开公钥私钥)去进行加解密。AES+RSA混合加密实际的流程是服务端-客户端数据加密传输流程:服务端AES密钥加密传输数据明文,RSA公钥加密AES密钥;客户端解密AES密钥密文,再用AES密钥解密数据密文,其客户端-服务端亦是如此。其流程如下图
*RSA、AES加密数学原理如果想深入的了解一下建议去B站看up主可厉害的土豆的视频(链接:https://www.bilibili.com/video/BV1YQ4y1a7n1)
二、使用步骤
1.引入库
代码如下(示例):
服务端采用SpringBoot
**POM依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.47</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version></dependency>
2.RAS+AES加密工具类
源代码我已经上传到阿里云(服务端链接:https://tanhua-zjd.oss-cn-beijing.aliyuncs.com/serviceDemo.zip ;客户端:https://tanhua-zjd.oss-cn-beijing.aliyuncs.com/clientDemo.zip,点击链接直接下载)。
源代码因为涉及其它利益,所以只保留了加密的模块,客户端只保留了JS加密代码,没有实际样式。
RSA+AES加密方案参考的该作者的RSA+AES混合加密方案:
https://blog.csdn.net/qq_43248623/article/details/108423695
总结
Learning Process:
Step1: 了解RSA+AES的安全性设计和加密逻辑;
Step2: 了解RSA和AES加密原理,建议B站观看可厉害土豆的加密视频(链接在上面);
Step3: 查阅RSA、AES、DES、CES、SSL签证等这几种加密方案之间的区别,以及安全性系数比较;
Step4: 如果可以完成建议拓展一下客户端与服务端做一下请求拦截进行统一加密以及解密。
希望可以给你带来帮助!!!
RSA+AES混合加密实例相关推荐
- 前后端通信安全RSA+AES混合加密
前言 前后端安全通信一直是头疼的问题,如何保证前后端安全通信? 读完这篇文章教你学会前后端安全通信. 什么是前后端通信? 客户端向服务端获取资源(如:html/css/js/jpg/json/api接 ...
- 学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密
学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密 技术标签: RSA AES RSA AES 混合加密 整合 前言: 为了提高安全性采用了RSA,但 ...
- php rsa aes混合加密,手动演示RSA和AES混合加密过程
RSA属于非对称加密算法,它虽然解决了"在不安全的信道上安全地传递密钥"这一问题,但缺点在于运算量太大,造成加/解速度太慢,所以在具体的工程应用上是混合使用了对称和和非对称加密算法 ...
- 学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密(方式一)
参考地址:https://blog.csdn.net/baidu_38990811/article/details/83540404
- 基于RSA和AES混合加密实现的加解密小工具
基于RSA和AES混合加密实现的加解密小工具 闲来无事,用python的tkinter开发了一个基于RSA和AES混合加密的小小工具.总结一下使用到的知识点. 首先是核心的加解密部分. 采用混合加密的 ...
- python实现rsa数据加密_python实现RSA与AES混合加密
RSA加密 这是一种非对称加密算法,密钥分为公钥和私钥.通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安全,但是生成密钥越慢,加解密也越耗时.一般公钥用来加密 ...
- rsa与aes混合加密java实现
package com.wustrive;import java.util.TreeMap;import com.wustrive.aesrsa.util.*;import com.alibaba.f ...
- 程序猿成长之路番外篇之前后端加解密(rsa+aes混合加解密算法)
今年国庆前夕接手一个外部项目,说是要保障接口数据安全,数据安全相对容易些,接口安全嘛emmmmm, 这个要考虑加解密算法.白名单之类的问题了.于是打算今天搞一期接口安全为题的成长之路番外篇. 为什么要 ...
- 对称非对称算法混合加密实战(DES和AES混合加密)
最近需要用加密算法,开始研究加密算法,果然大学落下的需要全都补回来.泪奔啊! 网上找各种资料,看别人的原理解释看了了很多,使用非对称算法和对称算法混合加密在实际项目中是经常用的,但原理听的差不多,没有 ...
最新文章
- 独家 | 手把手教你用Python的Prophet库进行时间序列预测
- 【星球知识卡片】换脸算法和人脸驱动都有哪些核心技术,如何对其长期深入学习...
- Git入门教程(1)
- 在SAP UI5应用里使用jQuery.ajax读取数据并显示在页面上
- Invert Binary Tree
- 这8种常见的SQL错误用法,你还在用吗?
- HTML5 Web Worker的使用
- Linux cpu 占用率高问题查询
- 大数据环境搭建之hadoop完全分布式搭建
- 中值滤波器的matlab实现
- 『实用教程』四种超实用的超级记忆法以及记忆训练案例
- myeclipse创建web-project没有WebRoot文件夹
- 如何在OpenWRT的非交换网卡/单口网卡(OpenWRT x86)下配置802.1Q VLAN
- 页面加载更多的css,十种加载样式
- 终结符号和非终结符号
- ubuntu golang 安装完成报 “command ‘go‘ not found“
- 装载M1芯片的Mac安装“AE”时,出现错误代码“501”怎么办?
- 利用matplotlib为论文画图(一)
- java第十二天-面向对象
- 蒙太奇千图照片生成器