? HSP文件格式技术说明书 - 深圳市酷唱科技有限公司
H

深圳市酷唱科技有限公司

Hard & Soft Technology Co.,LTD.

HSP文件格式技术说明书

版本: V1.0 日期: 2026年5月 作者: 酷唱科技技术部
1. 格式概述

HSP (Hardware + Software + Pack) 文件格式是酷唱科技自主研发的一种高效、紧凑的嵌入式固件和资源包文件格式。该格式集成了硬件元数据描述、软件程序代码和资源打包功能,专为嵌入式设备设计。

主要特点:

  • 支持多种压缩算法(LZMA、GZIP、LZO、ZSTD等)
  • 内置数据完整性校验(CRC32 + MD5)
  • 支持种子文件异或加密
  • 支持Windows/Linux双系统权限融合
  • 紧凑的文件头设计,快速定位数据
2. 设计定位

2.1 适配场景

  • 嵌入式固件升级包
  • 网页资源打包
  • 物联网设备配置文件
  • 多媒体资源包

2.2 核心优势

  • 底层高效: 采用高效压缩算法,减小文件体积
  • 生态兼容: 支持多种操作系统和平台
  • 结构精简: 文件头仅128字节,快速解析
  • 功能完备: 支持加密、校验、压缩等功能
3. 文件结构

HSP文件采用线性分区结构,从低地址到高地址依次排列:

区域偏移大小说明
文件头0x0000128字节文件标识、版本、大小等信息
目录区0x0080可变文件列表和偏移信息
数据区可变可变实际文件数据
校验区末尾32字节CRC32和MD5校验值
4. 文件头结构

HSP文件头共128字节,结构如下:

typedef struct { uint8_t magic[4]; // 文件标识 "HSP\0" uint8_t version; // 版本号 uint8_t flags; // 标志位(压缩、加密等) uint16_t header_size; // 文件头大小 uint32_t total_size; // 总文件大小 uint32_t dir_offset; // 目录区偏移 uint32_t dir_size; // 目录区大小 uint32_t data_offset; // 数据区偏移 uint32_t data_size; // 数据区大小 uint32_t crc32; // 整体CRC32校验 uint8_t reserved[84]; // 保留字段 } HSPHeader;
5. 压缩算法

HSP支持以下压缩算法:

算法ID算法名称特点
0x00无压缩原始数据,快速
0x01LZMA高压缩率,中等速度
0x02GZIP平衡压缩率和速度
0x03LZO极快解压速度
0x04ZSTD现代算法,平衡性能
6. 加密机制

HSP采用种子文件异或加密机制:

  • 种子文件: 用于生成加密密钥的参考文件
  • 异或加密: 使用种子文件的哈希值作为密钥
  • 优势: 无需存储密钥,提高安全性

加密流程:

  1. 计算种子文件的MD5哈希值
  2. 使用哈希值作为异或密钥
  3. 对数据区进行逐字节异或加密
  4. 在文件头中标记加密标志
7. 数据校验

HSP采用双重校验机制:

  • CRC32: 快速完整性校验
  • MD5: 数据完整性验证

校验流程:

  1. 读取文件头中的CRC32值
  2. 计算数据区的CRC32
  3. 对比校验值,验证完整性
  4. 必要时进行MD5验证
8. 适用场景
  • 嵌入式固件升级: 支持OTA升级,减少传输数据量
  • 网页资源打包: 压缩合并静态资源,提高加载速度
  • 物联网设备: 配置文件和固件包管理
  • 多媒体资源: 图片、音频等资源的打包存储
9. 总结

HSP文件格式是一种专为嵌入式设备设计的高效、安全的文件打包格式。它集成了多种压缩算法、加密机制和数据校验功能,适用于固件升级、资源打包等多种场景。通过简洁的文件结构和高效的算法选择,HSP格式在保证数据完整性的同时,最大限度地减小文件体积,提高传输效率。