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

简介: 【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 个字节删除 ;


目录
相关文章
|
9月前
|
Java 数据安全/隐私保护
对称加密、非对称加密与哈希摘要
本内容介绍了对称加密、非对称加密和哈希摘要的基本概念与区别。对称加密使用同一密钥加解密,速度快但需妥善保管密钥;非对称加密使用公钥加密、私钥解密,安全性高但速度较慢;哈希摘要通过提取数据特征用于完整性校验,能有效区分不同数据。
282 2
|
8月前
|
存储 前端开发 安全
如何确保 Pinia 插件中的加密密钥的安全性?
如何确保 Pinia 插件中的加密密钥的安全性?
438 122
|
10月前
|
数据安全/隐私保护
解释对称加密、非对称加密、哈希摘要
加密技术分为对称加密与非对称加密。对称加密使用同一密钥进行加解密,速度快但需严保管密钥;非对称加密则用公钥加密、私钥解密,安全性高但速度较慢。哈希摘要用于验证数据完整性,代表原始数据特征。
277 0
|
8月前
|
存储 安全 JavaScript
除了加密密钥的安全性,还有哪些方面需要注意 Pinia 插件的安全性?
除了加密密钥的安全性,还有哪些方面需要注意 Pinia 插件的安全性?
379 5
|
10月前
|
存储 安全 数据处理
探讨对称加密与非对称加密的区别
综上所述,对称加密和非对称加密的选用取决于不同的安全需求、性能考量和应用情境。了解各自的特点和限制,才能有效地部署合理的加密策略,以确保数据通信的安全性和效率。
1117 13
|
11月前
|
存储 运维 安全
OSS安全合规实战:金融行业敏感数据加密+KMS自动轮转策略(满足等保2.0三级要求)
金融行业OSS面临等保2.0、行业监管及数据泄露三重合规挑战,存在存储加密不足、密钥轮转滞后、访问控制不当等问题。本文提出分层加密架构,结合服务端KMS与客户端加密,设计自动密钥轮转机制,实现高性能与合规兼顾,并提供故障排查与成本优化方案,助力金融机构安全落地OSS应用。
587 1
|
安全 数据库 数据安全/隐私保护
对称加密与非对称加密的区别
对称加密与非对称加密的区别
2201 161
|
Java 数据安全/隐私保护
对称加密、非对称加密、哈希摘要
对称加密使用同一密钥进行加解密,速度快但需保密;非对称加密采用公钥加密、私钥解密,公钥可公开,安全性高但速度较慢,双向通信需双方各持一对密钥;哈希摘要是从数据中提取特征,用于数据完整性校验,不同数据的哈希值几乎不会相同。
261 0
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
853 23
|
8月前
|
存储 C语言
`scanf`是C语言中用于按格式读取标准输入的函数
`scanf`是C语言中用于按格式读取标准输入的函数,通过格式字符串解析输入并存入指定变量。需注意输入格式严格匹配,并建议检查返回值以确保读取成功,提升程序健壮性。
1447 0