7 App代码转AES加密文件生成步骤

目录

加密文件各配置说明:

一、文件加密支持单DES、双DES、三DES、128bitAES、192bitAES、256bitAES

1.DES系列

2.AES系列

二、当为AES加密时,向量为16字节,当为DES时,向量为8字节。加密模式都为CBC

1.模式统一为CBC

2.初始向量(IV)要求

三、会根据您输入的密钥长度自动执行对应的加密及解密

四、只支持字符串输入

五、加密后文件格式为4字节自定义数据长度+自定义数据+4字节明文长度+明文数据

1.文件结构(按顺序存储):

2.文件扩展名:.mxxx,通过扩展名区分加密算法。

六、加密后的文件格式为.mxxx

七、自定义数据长度+8字节必须为16的整数倍

八、如果密文中有自定义数据则解密后会在文本框中显示

九、加密、解密都只对当前打开的文件操作

十、加密后的App程序文件结构:


加密工具:

加密文件各配置说明:

一、文件加密支持单DES、双DES、三DES、128bitAES、192bitAES、256bitAES

1.DES系列

DES **:**传统对称加密算法,密钥长度56位,安全性较低(已不推荐用于敏感数据)。

DES **(2DES):**两次DES加密,密钥长度112位,安全性略高于单DES,但仍有被暴力破解风险。

DES ( 3DES **):**三次DES加密,密钥长度168位,安全性更高,但计算效率较低。

2.AES系列

128/192/256bit AES:现代主流的对称加密算法,安全性高,密钥越长安全性越高。

二、当为AES加密时,向量为16字节,当为DES时,向量为8字节。加密模式都为CBC

1.模式统一为CBC

CBC(密码块链接):每个明文块与前一个密文块异或后再加密,增强安全性。

2.初始向量(IV)要求

  • AES加密:IV为16字节(128bit),需随机生成且每次加密不同。

  • DES加密:IV为8字节(64bit),与DES块大小一致。

三、会根据您输入的密钥长度自动执行对应的加密及解密

密钥长度决定算法类型:

  • **输入提示:**需严格按算法要求输入密钥长度(如AES-256需32字节密钥)。

四、只支持字符串输入

  • 加密内容需为文本格式(如.txt文件),不支持二进制文件(如图片、视频)。

  • 若需加密二进制文件,需先将其转换为字符串(如Base64编码)。

五、加密后文件格式为4字节自定义数据长度+自定义数据+4字节明文长度+明文数据

1.文件结构(按顺序存储):

**4字节自定义数据长度:**定义后续自定义数据的字节数(如无则为0)。

**自定义数据:**用户可添加额外信息(如时间戳、版本号),明文存储不加密。

4字节 明文 **长度:**记录加密前的原始数据长度,用于解密时校验。

明文 **数据:**实际加密后的密文内容。

2.文件扩展名:.mxxx,通过扩展名区分加密算法。

六、加密后的文件格式为.mxxx

七、自定义数据长度+8字节必须为16的整数倍

  • 自定义数据长度+8字节=16的整数倍:

    因为CBC模式要求数据块对齐(AES块的大小是16字节,DES块大小8字节)。

    示例:若自定义的数据长度是10,加8为18,下一16的倍数是32,需要填充14字节。

八、如果密文中有自定义数据则解密后会在文本框中显示

  • 若加密时添加了自定义数据,解密后会在软件文本框中显示(如日志、备注信息)。

九、加密、解密都只对当前打开的文件操作

根据要求进行向量和密钥的填写

加密完成后得到 .mxxx 后缀的加密文件。

十、加密后的App 程序文件 结构:

上图中需要注意的是:

  1. 加密时:
  • 加密的时候,被加密内容如果不是需要的整数倍,那么需要自动补全,aes128有补全规则。
  1. 解密以后:
  • 是完整的数据+自动补全的数据

  • 但是 程序在运行过程中只会在 完整固件数据 中运行,不会跳转到补全数据里

相关推荐
xlp666hub1 小时前
Linux 设备模型学习笔记(1)
面试·嵌入式
2401_863318632 小时前
基于单片机的家庭防盗报警系统
单片机·嵌入式硬件
一枝小雨2 小时前
【OTA专题】18 OTA性能优化:优化bootloader存储空间与固件完整性校验(CRC)
stm32·单片机·性能优化·嵌入式·freertos·ota·bootloader
尼喃3 小时前
PW2605Z,专为系统安全护航的高可靠性负载开关
stm32·单片机·嵌入式硬件
阿昊真人3 小时前
stm32 按键中断
stm32·单片机·嵌入式硬件
代码游侠3 小时前
学习笔记——51单片机学习
笔记·stm32·单片机·嵌入式硬件·51单片机
松涛和鸣4 小时前
DAY52 7-Segment Display/GPIO/Buttons/Interrupts/Timers/PWM
c语言·数据库·单片机·sqlite·html
我是海飞4 小时前
杰理 AC792N WebSocket 客户端例程使用测试教程
c语言·python·单片机·websocket·网络协议·嵌入式·杰理
Zeku5 小时前
20260112 - Linux驱动学习笔记:Linux 中断下半部
stm32·freertos·linux驱动开发·linux应用开发
CQ_YM5 小时前
51单片机(2)
单片机·嵌入式硬件·51单片机