前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )

【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )

作者头像
韩曙亮
发布2023-03-30 08:52:19
3.5K0
发布2023-03-30 08:52:19
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、对称加密原理


给定一个 密钥 , 密钥的 长度不确定 , 可能是

32

字节 , 也可能是

64

字节 ;

将 被加密的数据 切割成 与 密钥长度 相同 的 数据块 ;

对上述切割后的数据 , 进行 分组加密 ;

加密后的数据就组成了 密文 ;

二、非密钥整数倍长度的数据加密处理


如果数据长度是

1029

字节 , 前面的

1024

字节正常加密 , 后面的

5

个字节 , 需要进行特殊处理 ;

数据的长度 不是 密钥大小 的整数倍 ;

最后

5

字节处理方案 :

加密密钥是

32

位 , 切割后 , 最后一个数据块是

5

字节 , 不是

32

的整数倍 ;

这里需要给后面的 数据进行填充 , 填充的原则是 " 缺几补几 " , 该数据块缺少

27

个字节 , 就在

5

个字节后的

27

个字节位置 , 都赋值

27

数值 , 也就是十六进制的 0x1B ;

在这里插入图片描述
在这里插入图片描述

将上述数据解密 , 就会发现最后

27

个字节的数据都是 0x1B , 如果发现如下规则 , 有

n

n

就将后面

n

个字节删除 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、对称加密原理
  • 二、非密钥整数倍长度的数据加密处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档