【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、對稱加密原理
- 二、非密鑰整數倍長度的數據加密處理
一、對稱加密原理
給定一個 密鑰 , 密鑰的 長度不確定 , 可能是 323232 字節 , 也可能是 646464 字節 ;
將 被加密的數據 切割成 與 密鑰長度 相同 的 數據塊 ;
對上述切割后的數據 , 進行 分組加密 ;
加密后的數據就組成了 密文 ;
二、非密鑰整數倍長度的數據加密處理
如果數據長度是 102910291029 字節 , 前面的 102410241024 字節正常加密 , 后面的 555 個字節 , 需要進行特殊處理 ;
數據的長度 不是 密鑰大小 的整數倍 ;
最后 555 字節處理方案 :
加密密鑰是 323232 位 , 切割后 , 最后一個數據塊是 555 字節 , 不是 323232 的整數倍 ;
這里需要給后面的 數據進行填充 , 填充的原則是 " 缺幾補幾 " , 該數據塊缺少 272727 個字節 , 就在 555 個字節后的 272727 個字節位置 , 都賦值 272727 數值 , 也就是十六進制的 0x1B ;
將上述數據解密 , 就會發現最后 272727 個字節的數據都是 0x1B , 如果發現如下規則 , 有 nnn 個 nnn 就將后面 nnn 個字節刪除 ;
總結
以上是生活随笔為你收集整理的【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】文件操作 ( 文件加密解密
- 下一篇: 【C 语言】文件操作 ( 文件加密解密