System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开实施例涉及一种资源文件加密方法、装置和系统。
技术介绍
1、在ios和mac应用开发中,资源文件通常以明文的形式存放在xcode项目中,编译后生成的安装包文件中,资源文件也是以明文形式存在,以ios应用程序为例,ios应用程序编译后生成的安装包文件后缀为.ipa。其它设备通过下载解压ipa文件就可以轻易导出资源文件,存在安全性问题。
技术实现思路
1、有鉴于此,本申请提供一种资源文件加密方法、装置和系统,能够自动化实现资源文件的加解密,且侵入性小、安全性高。
2、为解决上述技术问题,本申请的技术方案是这样实现的:
3、在一个实施例中,提供了一种资源文件加密方法,应用于基于xcode的加密设备上,所述方法包括:
4、响应于应用程序的xcode编译开始,向加密配置服务器请求加密配置信息;
5、获取加密配置服务器响应的加密配置信息;所述加密配置信息包括:加密配置标识、加密密钥、加密方式和文件清单;
6、根据所述文件清单确定待加密的资源文件;
7、基于所述加密密钥和所述加密方式对确定的待加密的资源文件进行加密,并基于所述加密配置标识、加密方式和所述文件清单生成解密动态库;
8、将加密获得的密文资源文件,以及所述解密动态库存入到安装包对应的文件目录中;
9、响应于所述应用程序的xcode编译结束,基于所述文件目录进行打包,生成所述应用程序的安装包;
10、其中,所述解密动态库用于
11、其中,所述根据该文件清单确定待加密的资源文件时,所述方法进一步包括:
12、将确定的待加密资源文件从xcode编译列表中移除。
13、其中,所述方法进一步包括:
14、将待加密的资源文件的资源文件标识记录到所述文件清单中;
15、所述解密动态库中的文件清单为记录了资源文件标识的文件清单。
16、其中,所述解密动态库还包括:解密桥接代码;
17、所述解密桥接代码hook了系统读取资源文件的api,当业务层通过系统api读取资源文件时,所述解密桥接代码会被触发;通过所述解密桥接代码对密文资源文件进行解密获取明文资源文件。
18、其中,所述加密配置信息是通过加密配置服务器提供的可视化界面配置,并维护的。
19、其中,所述基于所述文件目录进行打包,生成应用程序的安装包时,所述方法进一步包括:
20、向所述加密配置服务器发送生成应用程序的安装包的进度;其中,所述应用程序的安装包的生成进度通过所述加密配置服务器进行可视化显示。
21、在另一个实施例中,提供了一种资源文件加密装置,应用于基于xcode的加密设备上,所述装置包括:
22、请求单元,被配置为执行响应于应用程序的xcode编译开始,向加密配置服务器请求加密配置信息;
23、获取单元,被配置为执行获取加密配置服务器响应的加密配置信息;所述加密配置信息包括:加密配置标识、加密密钥、加密方式和文件清单;
24、确定单元,被配置为执行根据所述文件清单确定待加密的资源文件;
25、加密单元,被配置为执行基于所述加密密钥和所述加密方式对确定的待加密的资源文件进行加密,并基于所述加密配置标识、加密方式和所述文件清单生成解密动态库;其中,所述解密动态库用于在解密设备运行所述安装包对应的应用程序时,从所述加密配置服务器获取解密密钥并解密获得明文资源文件;
26、存储单元,被配置为执行将加密获得的密文资源文件,以及所述解密动态库存入到安装包对应的文件目录中;
27、生成单元,被配置为执行响应于所述应用程序的xcode编译结束,基于所述文件目录进行打包,生成所述应用程序的安装包。
28、在另一个实施例中,提供了一种资源文件加密系统,所述系统包括:
29、加密设备,响应于应用程序的xcode编译开始,向加密配置服务器请求加密配置信息;获取加密配置服务器响应的加密配置信息;所述加密配置信息包括:加密配置标识、加密密钥、加密方式和文件清单;根据所述文件清单确定待加密的资源文件;基于所述加密密钥和所述加密方式对确定的待加密的资源文件进行加密,并基于所述加密配置标识、加密方式和所述文件清单生成解密动态库;将加密获得的密文资源文件,以及所述解密动态库存入到安装包对应的文件目录中;响应于所述应用程序的xcode编译结束,基于所述文件目录进行打包,生成所述应用程序的安装包;其中,所述解密动态库用于在解密设备运行所述安装包对应的应用程序时,从所述加密配置服务器获取解密密钥并解密获得明文资源文件;
30、加密配置服务器,在接收到所述加密设备发送的加密配置信息请求时,向所述加密设备下发加密配置信息;在接收到解密装置发送的解密密钥请求时,将请求中的加密配置标识对应的解密密钥响应给所述解密装置;
31、解密装置,在应用程序运行时,向所述加密配置服务器发送解密密钥请求;获取所述加密配置服务器响应的解密密钥时,基于所述解密密钥和所述解密动态库解密密文资源文件获取明文资源文件。
32、在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现资源文件加密方法。
33、在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现资源文件加密方法。
34、由上面的技术方案可见,上述实施例中响应于应用程序的xcode编译开始,从加密配置服务器获取加密配置服务器配置的加密配置信息;根据加密配置信息中的文件清单确定待加密的资源文件,基于加密配置信息中的加密密钥和加密方式对确定的待加密的资源文件进行加密,并基于加密配置标识、加密方式和文件清单生成解密动态库,在应用程序的xcode编译结束时,一同打包生成该应用程序的安装包;其中,解密动态库用于在解密设备运行该安装包对应的应用程序时,从加密配置服务器获取解密密钥并解密获得明文资源文件。该方案能够自动化实现资源文件的加解密,且侵入性小、安全性高。
本文档来自技高网...【技术保护点】
1.一种资源文件加密方法,其特征在于,应用于基于Xcode的加密设备上,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据该文件清单确定待加密的资源文件时,所述方法进一步包括:
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
4.根据权利要求1所述的方法,其特征在于,所述解密动态库还包括:解密桥接代码;
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,所述基于所述文件目录进行打包,生成应用程序的安装包时,所述方法进一步包括:
7.一种资源文件加密装置,其特征在于,应用于基于Xcode的加密设备上,所述装置包括:
8.一种资源文件加密系统,其特征在于,所述系统包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时
...【技术特征摘要】
1.一种资源文件加密方法,其特征在于,应用于基于xcode的加密设备上,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据该文件清单确定待加密的资源文件时,所述方法进一步包括:
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
4.根据权利要求1所述的方法,其特征在于,所述解密动态库还包括:解密桥接代码;
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,所述基于所述文件目录进行打包,生...
【专利技术属性】
技术研发人员:余思琪,
申请(专利权)人:湖北盛天网络技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。