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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )

文章目录

一、对称加密原理

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





一、对称加密原理


给定一个 密钥 , 密钥的 长度不确定 , 可能是 32 3232 字节 , 也可能是 64 6464 字节 ;


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


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


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






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


如果数据长度是 1029 10291029 字节 , 前面的 1024 10241024 字节正常加密 , 后面的 5 55 个字节 , 需要进行特殊处理 ;


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



最后 5 55 字节处理方案 :


加密密钥是 32 3232 位 , 切割后 , 最后一个数据块是 5 55 字节 , 不是 32 3232 的整数倍 ;


这里需要给后面的 数据进行填充 , 填充的原则是 " 缺几补几 " , 该数据块缺少 27 2727 个字节 , 就在 5 55 个字节后的 27 2727 个字节位置 , 都赋值 27 2727 数值 , 也就是十六进制的 0x1B ;


image.png


将上述数据解密 , 就会发现最后 27 2727 个字节的数据都是 0x1B , 如果发现如下规则 , 有 n  个 n  就将后面 n 个字节删除 ;


目录
相关文章
|
15天前
|
存储 C语言
【c语言】玩转文件操作
本文介绍了C语言中文件操作的基础知识,包括文件的打开和关闭、文件的顺序读写、文件的随机读写以及文件读取结束的判定。详细讲解了`fopen`、`fclose`、`fseek`、`ftell`、`rewind`等函数的使用方法,并通过示例代码展示了如何进行文件的读写操作。最后,还介绍了如何判断文件读取结束的原因,帮助读者更好地理解和应用文件操作技术。
24 2
|
20天前
|
存储 编译器 C语言
如何在 C 语言中判断文件缓冲区是否需要刷新?
在C语言中,可以通过检查文件流的内部状态或使用`fflush`函数尝试刷新缓冲区来判断文件缓冲区是否需要刷新。通常,当缓冲区满、遇到换行符或显式调用`fflush`时,缓冲区会自动刷新。
|
20天前
|
存储 编译器 C语言
C语言:文件缓冲区刷新方式有几种
C语言中文件缓冲区的刷新方式主要包括三种:自动刷新(如遇到换行符或缓冲区满)、显式调用 fflush() 函数强制刷新、以及关闭文件时自动刷新。这些方法确保数据及时写入文件。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
存储 C语言
C语言文件操作(2)
【10月更文挑战第2天】
|
1月前
|
程序员 编译器 C语言
C语言底层知识------文件操作
本文详细介绍了文件操作的基本概念,包括文件的分类(程序文件和数据文件,其中着重于数据文件的文本文件和二进制文件),流的概念及其在C程序中的应用,以及标准输入输出流stdin、stdout和stderr的作用。作者通过示例展示了如何使用fopen、fclose和常见的读写函数如fgetc、fputc和fgets进行文件操作。
19 2
|
1月前
|
存储 缓存 编译器
文件操作——C语言
文件操作——C语言
|
26天前
|
存储 C语言
简述C语言文件操作
简述C语言文件操作
9 0
|
1月前
|
存储 文件存储 C语言
深入C语言:文件操作实现局外影响程序
深入C语言:文件操作实现局外影响程序
|
30天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
32 3