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. 解密以后:
  • 是完整的数据+自动补全的数据

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

相关推荐
Ghost Face...28 分钟前
U-Boot与PMON:配置与设备树解析对比
linux·单片机·嵌入式硬件
冲,干,闯1 小时前
操作MCU内存
单片机·嵌入式硬件
猫猫的小茶馆1 小时前
【ARM】从零封装STM32标准库
汇编·arm开发·stm32·单片机·嵌入式硬件·架构
国科安芯1 小时前
商业卫星光电载荷控制系统中MCU抗辐照性能评估方法研究
单片机·嵌入式硬件·数码相机·性能优化·架构·risc-v
Terasic友晶科技2 小时前
5-DE10-Nano的HDMI方块移动案例——基于FPGA的I2C控制模块设计
单片机·嵌入式硬件·fpga开发·时钟分频·hdmi方块移动·i2c控制模块设计·配置寄存器
v先v关v住v获v取2 小时前
杨柳絮收集装置设计cad1张总图+三维图+设计说明书
科技·单片机·51单片机
v先v关v住v获v取3 小时前
草莓采摘机器人结构设计2张cad+设计说明书+三维图
科技·单片机·51单片机
liujing102329294 小时前
stm32 开发的 c_cpp_properties.json 配置
c语言·stm32·嵌入式硬件
一支闲人4 小时前
单片机学习的前提知识储备
单片机·基础知识
d111111111d4 小时前
STM32平衡车工具-匿名助手+虚拟串口如何使用。
笔记·stm32·单片机·嵌入式硬件·学习