递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 7908|回复: 18
打印 上一主题 下一主题

[视窗] 火山OpenSSL支持库-02-DES加解密

[复制链接]

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
跳转到指定楼层
楼主
发表于 2021-7-7 19:21:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本源码转载自利快云https://www.lkuaiy.com/

火山OpenSSL支持库-02-DES加解密
一、需要调用的模块
  • 视窗基本类
  • MFC界面基本类
  • OpenSSL

DES加解密基本原理简单介绍

1.DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥对数据进行加密的算法,常见的加密模式有 ECB,CBC,CFB,OFB 四种,即 DES_ECB,DES_CBC,DES_CFB,DES_OFB

2.ECB模式优缺点:
  • 优点:算法简单,有利于并行计算,且误差不会被传送

  • 缺点:用一个密钥加密消息的所有块,如果原消息中重复明文块,则加密消息中的相应密文块也会重复,容易对明文进行主动的攻击。所以,ECB模式适于加密不重要消息

3.CBC模式优缺点:
  • 优点:不容易主动攻击,安全性好于ECB,适合传输长度长的数据
  • 缺点:密文不利于并行计算,容易造成误差传递,且需要初始向量

4.CFB模式优缺点:
  • 优点:分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
  • 缺点: 密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,需要唯一的初始化向量


5.OFB模式优缺点:
  • 优点:分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
  • 缺点:密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,且对明文的主动攻击是可能的
5.四种模式综合比较:

   在四种模式中,只有ECB模式不需要设置初始向量,ECB在Key相同时,相同明文会产生相同的密文,容易遭到字典攻
   CBC在一定程度上抵御了字典工具,但缺点也随之而来,一旦中间一个数据出错或丢失,后面的数据将受到影响
   CFB与CBC类似,好处是明文和密文不用是8bit的整数倍,中间一个数据出错,只影响后面的几个块的数据
   OFB比CFB方式,一旦一个数据出错,不会影响后面的数据,但安全性降低
   因此,在加密数据时候推荐使用CFB方式,每个数据包单独加密,否则一个数据包丢失,需要做很多容错处理
6.3DES是DES加密算法的一种模式,它使用3条64位的密钥对数据进行三次加密,可简单理解为,使用DES对数据进行三次加密
三、火山项目的建立以及代码书写
  • 工具栏中点击文件---新建---项目---空白视窗程序--MFC窗口程序
  • 引入OpenSSL支持库
  • 在我的主窗口类下,按 Ctrl U 进入界面布局,按下图放置组件,按图命令方式命名
   
4.双击界面空白处,快速创建 我的主窗口_创建完毕 事件,在事件下,对组合框赋值,这样子做便于后期维护

5.进入按钮事件,对于所有按钮均需要执行的代码,不需要判断来源对象,这里获取界面上的信息
6.来源对象为加密按钮,获取编辑框3的内容,根据选择的加密模式进行加密,将加密结果显示在编辑框4里面,代码过长,具体请看源码


7.来源对象为解密按钮,获取编辑框4的内容,根据选择的加密模式进行解密,结果显示在编辑框3里面,您可以将编辑框3的内容删除,看到具体的效果,代码过长,具体请看源码
   
四、GIF演示
五、附件下载

游客,如果您要查看本帖隐藏内容请回复







火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

7

主题

130

帖子

1013

积分

金牌会员

Rank: 6Rank: 6

积分
1013
沙发
发表于 2021-7-7 23:48:45 来自手机 | 只看该作者
学习快乐
回复

使用道具 举报

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
板凳
 楼主| 发表于 2021-7-11 10:05:11 | 只看该作者
日常一顶
火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

4

主题

223

帖子

3426

积分

论坛元老

Rank: 8Rank: 8

积分
3426
地板
发表于 2021-7-11 10:06:40 | 只看该作者
如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
5#
 楼主| 发表于 2021-7-18 11:56:54 | 只看该作者
日常一顶
火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

87

主题

501

帖子

3592

积分

论坛元老

Rank: 8Rank: 8

积分
3592
6#
发表于 2021-7-18 13:58:16 | 只看该作者
这个能运行Node.js吗
回复

使用道具 举报

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
7#
 楼主| 发表于 2021-7-24 14:13:54 | 只看该作者
每日一顶
火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

0

主题

196

帖子

850

积分

高级会员

Rank: 4

积分
850
8#
发表于 2021-7-24 23:30:54 | 只看该作者
日常一顶
回复

使用道具 举报

4

主题

97

帖子

1258

积分

金牌会员

Rank: 6Rank: 6

积分
1258
9#
发表于 2022-7-15 15:07:29 | 只看该作者
飒飒2112
回复

使用道具 举报

3

主题

49

帖子

582

积分

高级会员

Rank: 4

积分
582
10#
发表于 2023-2-18 11:59:37 | 只看该作者
日常一顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 10:02 , Processed in 0.099021 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表