递归火山软件开发平台
标题: 火山OpenSSL支持库-03-AES加解密 [打印本页]
作者: 1185907650 时间: 2021-7-7 19:19
标题: 火山OpenSSL支持库-03-AES加解密
本源码转载自利快云https://www.lkuaiy.com/
火山OpenSSL支持库-03-AES加解密一、需要调用的模块
二、AES加解密基本原理简单介绍
1.AES是一种使用密钥对数据进行加密的算法,它的出现主要是为了取代DES加密算法,DES算法的密钥长度是56Bit,因此算法的理论安全强度是2的56次方,新世界飞速发展使计算机的处理能力越来越强,虽然出现了3DES的加密方法,但由于它的加密时间是DES算法的3倍多,加密耗时长,运算量大,AES相比于DES加密算法,它具有更快的运算速度,在加密运算过程中,对内存需要非常小,且灵活的密钥选择性使得加密算法安全可靠
二、AES不同加密模式优缺点介绍
AES常见的加密模式有 ECB,CBC,CTR,CFB,OFB 五种,即 AES_ECB,AES_CBC,AES_CTR,AES_CFB,AES_OFB
1.ECB模式优缺点:
- 缺点:用一个密钥加密消息的所有块,如果原消息中重复明文块,则加密消息中的相应密文块也会重复,容易对明文进行主动的攻击。所以,ECB模式适于加密不重要消息
2.CBC模式优缺点:
- 优点:不容易主动攻击,安全性好于ECB,适合传输长度长的数据
- 缺点:密文不利于并行计算,容易造成误差传递,且需要初始向量
3.CFB模式优缺点:
- 优点:分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
- 缺点:密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,需要唯一的初始化向量
4.OFB模式优缺点:
- 优点:分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
- 缺点:密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,且对明文的主动攻击是可能的
5.CTR模式优缺点:
- 优点:无填充,可以高效地作为流式加密使用,错误信息不传播,具有和其他模式同等的安全级别
- 缺点:不能进行完整性校验: 密文传输过程中丢失比特位将导致后续比特位无法正确解密
三、AES加密算法密钥,初始向量及密钥长度
AES属于对称加密算法,对数据加解密需要使用同一密钥
AES除ECB模式,其他模式均需要提供初始向量,向量具体可在火山OpenSSL支持库中查看
AES密钥长度可选128位,192位,256位,一个字节等于8位,128位需要16字节密钥,192位需要24字节密钥,256位需要32字节密钥
三、火山项目的建立以及代码书写
- 工具栏中点击文件---新建---项目---空白视窗程序--MFC窗口程序
- 引入OpenSSL支持库
- 在我的主窗口类下,按 Ctrl U 进入界面布局,按下图放置组件,按图命令方式命名
4.双击界面空白处,快速创建 我的主窗口_创建完毕 事件,在事件下,对组合框赋值,这样子做便于后期维护
5.进入按钮事件,对于所有按钮均需要执行的代码,不需要判断来源对象,这里获取界面上的信息
6.来源对象为加密按钮,获取编辑框3的内容,根据选择的加密模式进行加密,将加密结果显示在编辑框4里面,代码过长,具体请看源码
7.来源对象为解密按钮,获取编辑框4的内容,根据选择的加密模式进行解密,结果显示在编辑框3里面,您可以将编辑框3的内容删除,看到具体的效果,代码过长,具体请看源码
四、GIF演示
五、附件下载
作者: j519948746 时间: 2021-7-8 09:13
你好 请问支持AES-CBC-256解密吗
作者: 1185907650 时间: 2021-7-24 15:12
每日一顶
作者: langui8899 时间: 2021-7-26 12:43
你好 请问支持AES-CBC-256解密吗
作者: tangdonglin 时间: 2021-7-26 13:26
学习了,天天学习,才能不断进步
作者: 网络注册会员 时间: 2021-7-26 17:57
谢谢分享!
作者: 1185907650 时间: 2021-7-31 21:54
日常一顶
作者: 1185907650 时间: 2021-8-6 09:40
日常一顶
作者: zj3751 时间: 2021-8-26 17:16
让 江小白 来看看帖子里藏了啥好东西~~~
作者: 发Q 时间: 2021-8-26 18:20
根本不需要OpenSSL winapi就可以实现,还有AES-GCM,不用再带个dll
作者: juehackr 时间: 2021-9-24 13:04
来看看~
作者: qaz2428119 时间: 2021-10-7 21:11
我是来拿源码学习的
作者: zhenglong 时间: 2021-10-11 09:19
来学习学习的哦
作者: wwl132 时间: 2021-10-11 16:52
563453563543543543
作者: ldg52941 时间: 2021-10-12 16:34
支持楼主,谢谢分享
作者: 744706640 时间: 2021-10-19 11:12
111111111
作者: sq2103 时间: 2021-11-3 21:12
让 江小白 来看看帖子里藏了啥好东西~~~
作者: ltqlmt888 时间: 2021-11-5 15:58
解密
作者: 微风Breeze 时间: 2021-11-23 19:08
看看111111111111111111111
作者: qaz2428119 时间: 2021-11-26 16:25
不管怎么说先收藏
作者: alwbj 时间: 2022-3-13 21:40
收下学习
作者: qzuser 时间: 2022-5-25 16:05
每日一顶
作者: qzuser 时间: 2022-5-25 16:05
你好 请问支持AES-CBC-256解密吗
作者: qzuser 时间: 2022-5-25 16:08
你好 请问支持AES-CBC-256解密吗
作者: sdzjj 时间: 2022-5-25 16:33
你好 请问支持AES-CBC-256解密吗
作者: lichenxui 时间: 2022-6-24 11:51
6666
作者: 小弟弟 时间: 2022-7-15 15:05
实打实的都是
作者: server 时间: 2022-8-23 20:26
学习.....
作者: xq45654 时间: 2022-8-29 20:49
支持一波
作者: www167349852 时间: 2022-9-12 10:42
正好需要,下载来看看
作者: aiyanok 时间: 2022-9-21 07:03
如果您要查看本帖隐藏内容请
作者: ours_26 时间: 2022-10-2 17:29
作者: cxz7411 时间: 2022-10-7 09:40
怎么都是返回字节集呢.1
作者: alanwoo 时间: 2022-10-12 21:32
学习……
作者: lu9944 时间: 2022-12-19 14:52
下载来看看类型的如何填写的
作者: percy 时间: 2023-3-6 08:49
666666666666666666666
作者: 宛南 时间: 2023-4-11 12:00
感谢分享!!
作者: 18015095505 时间: 2023-5-20 16:52
66666666666666666666
作者: kedy926 时间: 2023-7-16 20:54
666666
作者: topceo 时间: 2023-7-28 17:46
五、附件下载
作者: jiuzhu01 时间: 2023-8-20 18:05
火山OpenSSL支持库-03-AES加解密
作者: 无情铁手 时间: 2023-9-26 23:09
66666
作者: wxt5210 时间: 2023-10-12 22:25
司法独立的实力和
作者: 白雪皑皑0306 时间: 2024-2-2 13:59
谢谢分享
作者: xk消失 时间: 2024-3-15 10:31
啊实打实的启动去外地去外地
作者: mmmww 时间: 2024-5-6 07:20
666
作者: a121400 时间: 2024-6-15 07:40
666666666666666
作者: kongpeii 时间: 2024-6-30 23:53
火山OpenSSL支持库-03-AES加解
作者: 动感超人biubiu 时间: 2024-7-12 14:07
6666666666666
作者: lanhaoyi 时间: 2024-7-21 16:58
来学习下
作者: hellowe 时间: 2024-8-26 20:14
火山OpenSSL支持库-03-AES加解密
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) |
Powered by Discuz! X3.4 |