1. 概述
JlmPackCoreSDKV1.0 是由湖南遥昇通信技术有限公司开发的一个用于文件压缩、加密、管理和浏览的软件库。它支持跨平台操作,包括Linux和Windows系统。
JlmPack工具下载地址https://jlmpack.com
2. 版本信息
- **作者**:王杰林
- **编写日期**:2024-06-20
- **版本**:1.0
- **版权所有**:湖南遥昇通信技术有限公司
- **联系邮箱**:254908447@qq.com
3. 功能特点
- 文件和目录的遍历与压缩
- 支持加密压缩和安全解压
- 提供哈希算法和对称加密算法
- 日志记录操作历史
- 支持数字证书和授权管理
4. 配置信息
参见 `Config.h` 文件,了解JLMPack的核心宏定义和配置参数。
5. 数据结构
5.1. JLM_FILE
- `jlmHeadSign`: 文件头标识。
- `consistencyMark`: 用于统一主包和子包的一致性标记。
- `packID`: 包编号。
- `catalogBytesLength`: 目录的原始字节长度。
- `packSize`: 根据目录长度切割的子包数量。
- `packBytesLength`: 单个包的字节数。
- `encryptionWindow`: 加密轮函数的字节窗口。
- `extraSize`: JLM_EXTRA的字节数。
- `fileBytesLength`: 压缩后的总字节长度。
- `license`: 数字证书的数字指纹。
5.2. JLM_CATALOG
- `ID`: 目录或文件的ID。
- `FID`: 上一层目录的ID。
- `type`: 文件类型标识。
- `name`: 文件或目录的名称。
- `byteslength`: 原始文件的字节长度。
- `hv`: 哈希值。
- `time`: 文件创建的时间。
5.3. JLM_CATALOGINFOR
包含目录信息,如ID、父ID、目录名称、字节长度、创建时间、子目录队列和子目录列表规模。
5.4. JLM_EXTRA
版权控制结构体,包含版权拥有人、颁布人、联系方式、版本号、发布时间戳、授权分类和数字签名。
5.5. JLM_LOG
日志结构体,记录操作类型、一致性标记、文件名和时间戳。
5.6. VARIABLES
传递给函数的参数变量,包括授权文件路径、总字节数、累计字节数、随机数数组、密码数组、文件路径、ID列表等。
6. API 接口使用指南
6.1. 获取授权证书数字签名
JlmPack_GetLicense
- 功能: 从授权文件中获取数字签名。
- 输入参数: VARIABLES* vars,包含授权文件路径和其他必要信息。
- 返回值: 错误标识,0 表示成功,大于 1 表示错误。
6.2. JLMHA哈希算法
JlmPack_JLMHA
功能: 计算数据的哈希值。
输入参数:
- RandomByte: 随机字节,用于哈希计算。
- InByteArray: 输入数据。
- InByteArray_size: 输入数据大小。
- HashByteArray: 存储哈希结果的缓冲区。
- HashByteArray_size: 哈希结果长度。
- 返回值: 错误标识。
6.3. JLMSE对称加密算法
JlmPack_JLMSE
功能: 对数据进行加密或解密。
输入参数:
- RandomBytes: 随机数,用于密钥生成。
- RandomBytes_size: 随机数长度。
- Passwords: 加密或解密密码。
- Passwords_size: 密码长度。
- InByteArray: 输入数据。
- InByteArray_size: 输入数据大小。
- OutByteArray: 输出数据缓冲区。
- OutByteArray_size: 输出数据大小指针。
- model: 加密模式,0 为加密,1 为解密。
- 返回值: 错误标识。
6.4. 创建JLM压缩包
JlmPack_Create
- 功能: 根据提供的参数创建JLM压缩包。
- 输入参数: VARIABLES* vars,包含创建压缩包所需的所有信息。
- 返回值: 错误标识和日志信息。
6.5. 获取权限值
JlmPack_GetRule
- 功能: 获取JLM压缩包的权限值。
- 输入参数: VARIABLES* vars,包含压缩包路径等信息。
- 返回值: 错误标识和权限值。
6.6. 解包JLM压缩包
JlmPack_Unpack
- 功能: 解压和解密JLM压缩包。
- 输入参数: VARIABLES* vars,包含解压所需的所有信息。
- 返回值: 错误标识。
6.7. 向JLM文件追加文件
JlmPack_Insert
- 功能: 向JLM压缩包中追加新文件或目录。
- 输入参数: VARIABLES* vars,包含追加所需的信息。
- 返回值: 错误标识。
6.8. 删除JLM压缩包中的文件
JlmPack_Delete
- 功能: 删除JLM压缩包中的指定文件或目录。
- 输入参数: VARIABLES* vars,包含待删除项的信息。
- 返回值: 错误标识。
6.9. 重命名JLM压缩包中的项
JlmPack_Rename
- 功能: 重命名JLM压缩包中的文件或目录。
- 输入参数: VARIABLES* vars,包含待重命名项的信息及新名称。
- 返回值: 错误标识。
6.10. 预览JLM压缩包目录
JlmPack_BrowseCatalog
- 功能: 预览JLM压缩包中的目录结构。
- 输入参数: VARIABLES* vars,包含预览所需的信息。
- 返回值: 目录信息结构体指针和错误标识。
7.10.错误编号
下面是各个编号的说明:
400:创建目录时输入的const char** pathList为NULL,或则unsigned int listSize<= 0,即无效输入
401:创建目录时unsigned int listSize>CATALOG_MAX_LIMIT,即列表中的文件目录数大于了Config.h中设定的值,可调整Config.h中CATALOG_MAX_LIMIT的值
402:创建目录时CatalogInfor的内存开辟失败
403:创建目录时CatalogInfor.urlsList或者CatalogInfor.CatalogList的内存开辟失败
404:无
405:所有子目录超过了CATALOG_MAX_LIMIT的限制,可调整Config.h中CATALOG_MAX_LIMIT的值
406:创建目录时CatalogInfor的内存开辟失败
407:创建目录时CatalogInfor.urlsList或者CatalogInfor.CatalogList的内存开辟失败
408:重命名时输入的CatalogInfor* cataloginfor为NULL
409:重命名时输入的const char* newName(名字)为空
410:重命名时输入的int ID小于等于0,注意根目录禁止重命名,默认就是root
411:重命名时输入的int ID大于cataloginfor->MaxID,说明不存在这样的目录
412:重命名时同级目录下存在与newName相同的名字
413:目录序列化时输入CatalogInfor* catalogInfor为NULL或者catalogInfor->CatalogListSize <= 0
414:目录序列化时输入的unsigned int* BytesArrayLength为NULL,这个参数必须传递指针,需要返回实际序列化后的长度
415:目录序列化时返回数组BytesArray内存开辟失败
416:目录逆序列化时输入unsigned char* BytesArray为NULL或者unsigned int BytesArrayLength <= 0
417:目录逆序列化时返回的cataloginfor内存开辟失败
418:目录逆序列化时目录的数量超过了CATALOG_MAX_LIMIT的限制或cataloginfor->CatalogListSize <= 0或cataloginfor->MaxID > CATALOG_MAX_LIMIT或cataloginfor->MaxID <= 0,可调整Config.h中CATALOG_MAX_LIMIT的值
419:目录逆序列化后的目录字节数与实际输入的字节数不符合
420:目录逆序列化时cataloginfor->CatalogList内存开辟失败
421:根据最大ID创建目录时输入的const char** pathList为NULL,或则unsigned int listSize<= 0,即无效输入
422:根据最大ID创建目录时输入的listSize>CATALOG_MAX_LIMIT,即列表中的文件目录数大于了Config.h中设定的值,可调整Config.h中CATALOG_MAX_LIMIT的值
423:根据最大ID创建目录时返回的cataloginfor内存开辟失败
424:根据最大ID创建目录时CatalogInfor.urlsList或者CatalogInfor.CatalogList的内存开辟失败
425:根据最大ID创建目录时所有子目录超过了CATALOG_MAX_LIMIT的限制,可调整Config.h中CATALOG_MAX_LIMIT的值
426:根据最大ID创建目录时CatalogInfor的内存开辟失败
427:根据最大ID创建目录时CatalogInfor.urlsList或者CatalogInfor.CatalogList的内存开辟失败
428:追加目录时输入的oldCatalogInfor为NULL
429:追加目录时输入的thisID < 0或thisID > oldCatalogInfor->MaxID,即无效目录的ID号,注意允许thisID = 0,即追加到根目录下
430:追加目录时判断新增的根目录是否与thisID下的子目录存在相同的名字
431:追加目录时CatalogInfor* cataloginfor内存开辟失败
432:追加目录时cataloginfor->urlsList和cataloginfor->CatalogList内存开辟失败
433:删除目录时输入的oldCatalogInfor为NULL
434:删除目录时输入的delIdList == NULL 或 listSize <= 0
435:删除目录时输入的delIdList中存在0号ID,根目录删除意思就是整个jlm文件删除,无需任何的目录操作
436:删除目录时CatalogInfor* tmpNewCatalogInfor内存开辟失败
437:删除目录时CatalogInfor** OutCatalogInfor内存开辟失败
438:删除目录时OutCatalogInfor[0]和OutCatalogInfor[1]内存开辟失败
439:删除目录时tmpNewCatalogInfor->CatalogList或OutCatalogInfor[1]->CatalogList内存开辟失败
440:删除目录时tmpNewCatalogInfor->urlsList或OutCatalogInfor[0]->urlsList内存开辟失败
441:删除目录时OutCatalogInfor[0]->CatalogList内存开辟失败
1100:JLMHA函数输入的InByteArray == NULL或InByteArray_size == 0
1101:JLMHA函数输入的HashByteArray == NULL或HashByteArray_size == 0
1102:JLMHA函数编码失败
1200:JLMSE函数输入的InByteArray == NULL或InByteArray_size == 0
1201:JLMSE函数输入的OutByteArray == NULL或OutByteArray_size == 0
1202:JLMSE函数输入的model无效,只能输入0或1
1300:JlmPack_Create函数输入的VARIABLES* vars为NULL
1301:JlmPack_Create函数输入的vars->log为NULL
1302:JlmPack_Create函数输入的vars->jlmFile为NULL
1303:JlmPack_Create函数输入的vars->pathList == NULL 或 vars->pathListSize == 0
1304:JlmPack_Create函数输入的vars->jlmFileUrl为NULL
1305:JlmPack_Create函数输入的vars->InByteArray为NULL
1306:JlmPack_Create函数输入的vars->OutByteArray为NULL
1307:JlmPack_Create函数输入的vars->RandomBytes == NULL 或 vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1308:JlmPack_Create函数写文件指针为NULL
1309:JlmPack_Create函数写文件失败,写入文件的长度与待写入的长度sizeof(JLM_FILE)不一致
1310:JlmPack_Create函数写文件失败,写入文件的长度与待写入的目录长度不一致
1311:JlmPack_Create函数写文件指针为NULL
1312:JlmPack_Create函数写文件失败,写入文件的长度与待写入的长度sizeof(JLM_FILE)不一致
1313:JlmPack_Create函数写文件失败,写入文件的长度与待写入的目录长度不一致
1320:编码函数当前待编码的文件目录Catalog* catalog为NULL
1321:编码函数FILE* readfile为NULL
1322:编码函数杰林码编码器WJLWMCoder* coder内存开辟失败
1340:编码函数写文件失败,写入文件的长度与待写入的长度不一致
1341:编码函数写文件失败,写入文件的长度与待写入的长度不一致
1342:编码函数写文件失败,写入文件的长度与待写入的长度不一致
1343:编码函数写文件失败,写入文件的长度与待写入的长度不一致
1400:JlmPack_Unpack函数输入的VARIABLES* vars为NULL
1401:JlmPack_Unpack函数输入的vars->pathList == NULL或vars->pathListSize == 0或vars->pathListSize >= 2
1402:JlmPack_Unpack函数输入的vars->jlmFile为NULL
1403:JlmPack_Unpack函数输入的vars->IdList == NULL或vars->IdList_Size <= 0
1404:JlmPack_Unpack函数输入的vars->jlmFileUrl为NULL
1405:JlmPack_Unpack函数输入的vars->InByteArray为NULL
1406:JlmPack_Unpack函数输入的vars->OutByteArray为NULL
1407:JlmPack_Unpack函数输入的vars->jlmExtra为NULL
1408:JlmPack_Unpack函数输入的vars->RandomBytes == NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1409:JlmPack_Unpack函数jlmpack为NULL或tmpJlmPack为NULL或pathsArray为NULL
1410:JlmPack_Unpack函数pathsArray[i]为NULL
1411:JlmPack_Unpack函数realJlmFilePath为NULL
1412:JlmPack_Unpack函数realJlmFilePath[i]为NULL
1413:JlmPack_Unpack函数FILE* readfile为NULL
1414:JlmPack_Unpack函数读取文件失败,读取的长度错误
1415:JlmPack_Unpack函数FILE* readfile为NULL
1416:JlmPack_Unpack函数读取文件失败,读取的长度错误
1417:JlmPack_Unpack函数输入的vars->InByteArray_Size和vars->OutByteArray_Size错误,必须大于等于vars->jlmFile->encryptionWindow + 2097152
1418:JlmPack_Unpack函数读取文件失败,读取的长度错误
1419:JlmPack_Unpack函数密码错误或文件不是JLM文件
1420:JlmPack_Unpack函数密码错误或文件不是JLM文件
1421:JlmPack_Unpack函数FILE* readfile为NULL
1422:JlmPack_Unpack函数读取文件失败,读取的长度错误
1423:JlmPack_Unpack函数FILE* readfile为NULL
1424:JlmPack_Unpack函数读取文件失败,读取的长度错误
1425:JlmPack_Unpack函数FILE* readfile为NULL
1426:JlmPack_Unpack函数读取文件失败,读取的长度错误
1440:JLM文件遍历函数目录路径错误
1441:JLM文件遍历函数FILE* readfile为NULL
1460:解码函数WJLWMCoder* coder内存开辟失败
1461:解码函数FILE* writefile为NULL
1462:解码函数FILE* readfile为NULL
1463:解码函数读取文件失败,读取的长度错误
1464:解码函数FILE* readfile为NULL
1465:解码函数读取文件失败,读取的长度错误
1466:解码函数写文件失败,写入文件的长度与待写入的长度不一致
1467:解码函数,输入的密码错误或密文错误
1468:解码函数写文件失败,写入文件的长度与待写入的长度不一致
1469:解码函数,输入的密码错误或密文错误
1470:解码函数写文件失败,写入文件的长度与待写入的长度不一致
1471:解码函数FILE* readfile为NULL
1472:解码函数读取文件失败,读取的长度错误
1473:解码函数读取文件失败,读取的长度错误
1500:JlmPack_Insert函数输入的VARIABLES* vars为NULL
1501:JlmPack_Insert函数输入的vars->pathList == NULL或vars->pathListSize == 0
1502:JlmPack_Insert函数输入的vars->jlmFileUrl为NULL
1503:JlmPack_Insert函数输入的vars->IdList == NULL或vars->IdList_Size == 0或vars->IdList_Size >= 2
1504:JlmPack_Insert函数输入的vars->jlmFile为NULL
1505:JlmPack_Insert函数输入的vars->InByteArray为NULL
1506:JlmPack_Insert函数输入的vars->OutByteArray为NULL
1507:JlmPack_Insert函数输入的vars->jlmExtra为NULL
1508:JlmPack_Insert函数输入的vars->RandomBytes == NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1509:JlmPack_Insert函数jlmpack == NULL或tmpJlmPack == NULL
1510:JlmPack_Insert函数realJlmFilePath == NULL或newJlmFilePath == NULL
1511:JlmPack_Insert函数realJlmFilePath[i] == NULL或newJlmFilePath[i] == NULL
1512:JlmPack_Insert函数FILE* readfile为NULL
1513:JlmPack_Insert函数FILE* readfile为NULL
1514:JlmPack_Insert函数读取文件失败,读取的长度错误
1515:JlmPack_Insert函数读取文件失败,读取的长度错误
1516:JlmPack_Insert函数密码或密文错误
1517:JlmPack_Insert函数密码或密文错误
1518:JlmPack_Insert函数FILE* readfile为NULL
1519:JlmPack_Insert函数读取文件失败,读取的长度错误
1520:JlmPack_Insert函数FILE* readfile为NULL
1521:JlmPack_Insert函数读取文件失败,读取的长度错误
1522:JlmPack_Insert函数FILE* readfile为NULL
1523:JlmPack_Insert函数读取文件失败,读取的长度错误
1524:JlmPack_Insert函数FILE* writefile为NULL
1525:JlmPack_Insert函数写文件失败,写入文件的长度与待写入的长度不一致
1526:JlmPack_Insert函数写文件失败,写入文件的长度与待写入的长度不一致
1527:JlmPack_Insert函数FILE* writefile为NULL
1528:JlmPack_Insert函数写文件失败,写入文件的长度与待写入的长度不一致
1529:JlmPack_Insert函数写文件失败,写入文件的长度与待写入的长度不一致
1530:JlmPack_Insert函数FILE* readfile为NULL
1560:文件复制函数FILE* readfile为NULL
1561:文件复制函数读取文件失败,读取的长度错误
1564:文件复制函数FILE* readfile为NULL
1565:文件复制函数读取文件失败,读取的长度错误
1566:文件复制函数读取文件失败,读取的长度错误
1580:文件复制函数FILE* readfile为NULL
1581:文件复制函数FILE* writefile为NULL
1583:文件复制函数写文件失败,写入文件的长度与待写入的长度不一致
1600:JlmPack_Delete函数输入的VARIABLES* vars为NULL
1601:JlmPack_Delete函数输入的vars->jlmFileUrl为NULL
1602:JlmPack_Delete函数输入的vars->IdList == NULL或vars->IdList_Size == 0
1603:JlmPack_Delete函数输入的vars->jlmFile为NULL
1604:JlmPack_Delete函数输入的vars->InByteArray为NULL
1605:JlmPack_Delete函数输入的vars->OutByteArray为NULL
1606:JlmPack_Delete函数输入的vars->jlmExtra为NULL
1607:JlmPack_Delete函数输入的vars->RandomBytes == NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1608:JlmPack_Delete函数输入的vars->IdList中存在为0的ID号,如果删除的ID存在根目录,请直接删除整个JLM文件
1609:JlmPack_Delete函数jlmpack == NULL或tmpJlmPack == NULL,内存开辟失败
1610:JlmPack_Delete函数realJlmFilePath == NULL或newJlmFilePath == NULL,内存开辟失败
1611:JlmPack_Delete函数realJlmFilePath[i] == NULL或newJlmFilePath[i] == NULL,内存开辟失败
1612:JlmPack_Delete函数FILE* readfile为NULL
1613:JlmPack_Delete函数FILE* readfile为NULL
1614:JlmPack_Delete函数读取文件失败,读取的长度错误
1615:JlmPack_Delete函数读取文件失败,读取的长度错误
1616:JlmPack_Delete函数密码或密文错误
1617:JlmPack_Delete函数密码或密文错误
1618:JlmPack_Delete函数FILE* readfile为NULL
1619:JlmPack_Delete函数读取文件失败,读取的长度错误
1620:JlmPack_Delete函数FILE* readfile为NULL
1621:JlmPack_Delete函数读取文件失败,读取的长度错误
1622:JlmPack_Delete函数FILE* readfile为NULL
1623:JlmPack_Delete函数读取文件失败,读取的长度错误
1624:JlmPack_Delete函数FILE* writefile为NULL
1625:JlmPack_Delete函数写文件失败,写入文件的长度与待写入的长度不一致
1626:JlmPack_Delete函数写文件失败,写入文件的长度与待写入的长度不一致
1627:JlmPack_Delete函数FILE* writefile为NULL
1628:JlmPack_Delete函数写文件失败,写入文件的长度与待写入的长度不一致
1629:JlmPack_Delete函数写文件失败,写入文件的长度与待写入的长度不一致
1630:JlmPack_Delete函数FILE* readfile为NULL
1700:JlmPack_Rename函数输入的VARIABLES* vars为NULL
1701:JlmPack_Rename函数输入的vars->jlmFileUrl为NULL
1702:JlmPack_Rename函数输入的vars->pathList为NULL或vars->pathListSize == 0或vars->pathListSize >= 2
1703:JlmPack_Rename函数输入的vars->IdList为NULL或vars->IdList_Size == 0或vars->IdList_Size >= 2
1704:JlmPack_Rename函数输入的vars->jlmFile为NULL
1705:JlmPack_Rename函数输入的vars->InByteArray为NULL
1706:JlmPack_Rename函数输入的vars->OutByteArray为NULL
1707:JlmPack_Rename函数输入的vars->RandomBytes为NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1708:JlmPack_Rename函数输入的vars->IdList[0] == 0,根目录禁止重命名
1709:JlmPack_Rename函数jlmpack为NULL或tmpJlmPack为NULL,内存开辟失败
1710:JlmPack_Rename函数realJlmFilePath为NULL,内存开辟失败
1711:JlmPack_Rename函数realJlmFilePath[i]为NULL,内存开辟失败
1712:JlmPack_Rename函数FILE* readfile为NULL
1713:JlmPack_Rename函数FILE* readfile为NULL
1714:JlmPack_Rename函数输入的vars->InByteArray_Size和vars->OutByteArray_Size错误,必须大于等于vars->jlmFile->encryptionWindow + 2097152
1715:JlmPack_Rename函数读取文件失败,读取的长度错误
1716:JlmPack_Rename函数密码或密文错误
1717:JlmPack_Rename函数密码或密文错误
1718:JlmPack_Rename函数重命名无效,名字过长,超过了原来目录所能存放的长度
1719:JlmPack_Delete函数FILE* writefile为NULL
1720:JlmPack_Delete函数写文件失败,写入文件的长度与待写入的长度不一致
1800:JlmPack_BrowseCatalog函数输入的VARIABLES* vars为NULL
1801:JlmPack_BrowseCatalog函数输入的vars->jlmFileUrl为NULL
1802:JlmPack_BrowseCatalog函数输入的vars->IdList为NULL或vars->IdList_Size == 0或vars->IdList_Size >= 2
1803:JlmPack_BrowseCatalog函数输入的vars->jlmFile为NULL
1804:JlmPack_BrowseCatalog函数输入的vars->InByteArray为NULL
1805:JlmPack_BrowseCatalog函数输入的vars->OutByteArray为NULL
1806:JlmPack_BrowseCatalog函数输入的vars->RandomBytes为NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
1807:JlmPack_BrowseCatalog函数jlmpack为NULL或tmpJlmPack为NULL,内存开辟失败
1808:JlmPack_BrowseCatalog函数realJlmFilePath为NULL,内存开辟失败
1809:JlmPack_BrowseCatalog函数realJlmFilePath[i]为NULL,内存开辟失败
1810:JlmPack_BrowseCatalog函数FILE* readfile为NULL
1811:JlmPack_BrowseCatalog函数FILE* readfile为NULL
1812:JlmPack_BrowseCatalog函数输入的vars->InByteArray_Size和vars->OutByteArray_Size错误,必须大于等于vars->jlmFile->encryptionWindow + 2097152
1813:JlmPack_BrowseCatalog函数读取文件失败,读取的长度错误
1814:JlmPack_BrowseCatalog函数密码或密文错误
1815:JlmPack_BrowseCatalog函数密码或密文错误
1816:JlmPack_BrowseCatalog函数JLM_CATALOGINFOR* outCatalogs为NULL,内存开辟失败
1817:JlmPack_BrowseCatalog函数outCatalogs->CatalogList为NULL,内存开辟失败
1900:JlmPack_GetLicense函数输入的VARIABLES* vars为NULL
1901:JlmPack_GetLicense函数输入的vars->licenseFilePath为NULL
1902:JlmPack_GetLicense函数输入的vars->license为NULL
1903:JlmPack_GetLicense函数FILE* readfile为NULL,一般是指vars->licenseFilePath路径错误
1904:JlmPack_GetLicense函数vars->licenseFilePath对应的文件错误或无效,或为空
2302:JlmPack_GetLicense函数内存开辟失败
2303:JlmPack_GetLicense函数FILE* readfile为NULL
2304:JlmPack_GetLicense函数证书过期了
2000:JlmPack_GetRule函数输入的VARIABLES* vars为NULL
2001:JlmPack_GetRule函数输入的vars->jlmFileUrl为NULL
2002:JlmPack_GetRule函数输入的vars->jlmFile为NULL
2003:JlmPack_GetRule函数输入的vars->InByteArray为NULL
2004:JlmPack_GetRule函数输入的vars->OutByteArray为NULL
2005:JlmPack_GetRule函数输入的vars->RandomBytes为NULL或vars->RandomBytes_size != RANDOM_BYTE_LIMIT
2006:JlmPack_GetRule函数jlmpack为NULL或tmpJlmPack为NULL,内存开辟失败
2007:JlmPack_GetRule函数realJlmFilePath为NULL,内存开辟失败
2008:JlmPack_GetRule函数realJlmFilePath[i]为NULL,内存开辟失败
2009:JlmPack_GetRule函数FILE* readfile为NULL
2010:JlmPack_GetRule函数FILE* readfile为NULL
2011:JlmPack_GetRule函数输入的vars->InByteArray_Size和vars->OutByteArray_Size错误,必须大于等于vars->jlmFile->encryptionWindow + 2097152
2012:JlmPack_GetRule函数读取文件失败,读取的长度错误
2013:JlmPack_GetRule函数密码或密文错误
2014:JlmPack_GetRule函数密码或密文错误
8. 配置参数
Config.h 文件包含了JLMPack SDK的配置参数,这些参数可以根据您的需求进行调整。
9. 注意事项
- 确保在使用加密和解密功能时,提供正确的密码和随机数。
- 授权文件必须有效,且路径正确无误。
- 遵守版权声明和授权协议。
10. 版权声明
本文档和JlmPackCoreSDKV1.0版权所有,未经湖南遥昇通信技术有限公司书面许可,禁止复制、传播、修改或用于商业用途。