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

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

相关推荐
比老马还六3 分钟前
Bipes-Blockly项目二次开发/Coze智能体(十)
前端·嵌入式
ForTime2 天前
HAL库大雷预警!STM32 HAL库CAN启动超时解决办法
嵌入式
大辉狼_音频架构2 天前
Vol. NXP SOF Arch
嵌入式
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
荣--7 天前
在 strip 二进制 + 基址随机化的栈里做崩溃去重 —— 三阶段算法与一行 Crash Flag
嵌入式·崩溃分析·栈指纹·去重算法
释然小师弟7 天前
Android开发十年:反思与回顾
android·后端·嵌入式
FreakStudio8 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
bush413 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd84510150013 天前
RS485 总线详解
单片机·嵌入式硬件