CN113407213B - 资源包更新方法、装置、设备及存储介质 - Google Patents
资源包更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113407213B CN113407213B CN202110685820.9A CN202110685820A CN113407213B CN 113407213 B CN113407213 B CN 113407213B CN 202110685820 A CN202110685820 A CN 202110685820A CN 113407213 B CN113407213 B CN 113407213B
- Authority
- CN
- China
- Prior art keywords
- resource
- file
- index
- hash value
- accuracy check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 54
- 230000002159 abnormal effect Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及移动端技术,揭露了一种资源包更新方法,包括:获取加密资源包,对所述加密资源包进行解密,得到解密资源包,获取所述解密资源包包含的索引文件及资源文件集合,对所述索引文件进行第一准确性校验,当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果,根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件,利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。本发明还提出一种资源包更新装置、电子设备以及计算机可读存储介质。本发明可以解决资源更新不准确和存在安全风险的问题。
Description
技术领域
本发明涉及移动端技术领域,尤其涉及一种资源包更新方法、装置、电子设备及计算机可读存储介质。
背景技术
前端技术在移动互联网时代已经广泛使用,随着业务的快速发展,纯原生的App不能完美的符合业务要求,往往需要对App进行资源更新。现有技术下,通过H5资源离线化对App进行更新是业界共同探索的方向。然而在资源离线化后随之产生的问题接踵而至,比如,当H5资源离线化后,客户端App通过http请求获取到最新的离线资源,然而该离线资源容易被篡改,因此在资源更新时存在获取到的离线资源不准确的问题,由于离线资源不准确因此可能存在安全性风险的问题。
发明内容
本发明提供一种资源包更新方法、装置、设备及存储介质,其主要目的在于解决资源更新不准确和存在安全风险的问题。
为实现上述目的,本发明提供的一种资源包更新方法,包括:
获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
获取所述解密资源包包含的索引文件及资源文件集合;
对所述索引文件进行第一准确性校验;
当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果;
根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;
利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
可选地,所述对所述索引文件进行第一准确性校验,包括:
利用预设的第一哈希算法对所述索引文件进行哈希处理,得到索引文件哈希值;
将所述索引文件哈希值与所述解密资源包中记录的索引哈希值进行比对;
若所述索引文件哈希值与所述索引哈希值不一致,确定所述索引文件被篡改,确定第一准确性校验不通过;
若所述索引文件哈希值与所述索引哈希值一致,确定所述索引文件未被篡改,确定第一准确性校验通过。
可选地,所述通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果,包括:
遍历所述所述资源文件集合中的资源文件,利用预设的第二哈希算法对所述资源文件进行哈希处理,得到各个资源文件的资源哈希值;
将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果。
可选地,所述将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果,包括:
依次获取所有资源文件与所述解密资源包的相对路径;
以所述相对路径作为索引,查找所述索引文件中记录的哈希值;
将查找到的哈希值与所述资源文件的资源哈希值进行比对;
若所述哈希值与所述资源哈希值不一致,确定所述资源文件未通过第二准确性校验;
若所述哈希值与所述资源哈希值一致,确定所述资源文件通过第二准确性校验。
可选地,所述利用所述通过第二准确性校验的资源文件替换历史资源文件,包括:
将所述通过第二准确性校验的资源文件标记为目标资源文件;
对所述目标资源文件的内容进行安全性校验;
若安全性校验不通过,确定所述目标资源文件异常,发送异常提醒;
若安全性校验通过,利用所述目标资源文件更新历史资源文件。
可选地,所述利用区块链记录更新资源信息,包括:
将安全性校验通过的目标资源文件存储至区块链中预设的更新正常文件,以记录每次更新的资源文件;
将安全性校验不通过的目标资源文件存储至区块链中预设的更新异常文件,以记录每次异常的资源文件。
可选地,所述对所述加密资源包进行解密,得到解密资源包,包括:
获取解密公钥,利用所述解密公钥对所述加密资源包进行解密;
若所述解密公钥对所述加密资源包解密失败,确定所述加密资源包来源异常;
若所述解密公钥对所述加密资源包解密成功,确定所述加密资源包来源正常,并得到解密资源包。
为了解决上述问题,本发明还提供一种资源包更新装置,所述装置包括:
资源包解密模块,用于获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
第一准确性校验模块,用于获取所述解密资源包包含的索引文件及资源文件集合;对所述索引文件进行第一准确性校验;
第二准确性校验模块,用于当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果;
资源更新模块,用于根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的资源包更新方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的资源包更新方法。
本发明通过对加密资源包进行解密得到解密资源包,并对解密资源包中的索引文件进行第一准确性校验,当所述第一准确性校验通过时,通过所述索引文件对解密资源包中的资源文件集合进行第二准确性校验,利用通过多次准确性校验的资源文件进行资源更新,可以有效防止资源文件被篡改,提高获取到的资源文件的准确性,从而提高资源更新的安全性。并且通过区块链对资源更新的情况进行记录,进一步提高了对资源更新的可追溯性和可维护性。因此本发明提出的资源包更新方法、装置、电子设备及计算机可读存储介质,可以解决资源更新不准确和存在安全风险的问题。
附图说明
图1为本发明一实施例提供的资源包更新方法的流程示意图;
图2为本发明一实施例提供的资源包更新装置的功能模块图;
图3为本发明一实施例提供的实现所述资源包更新方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种资源包更新方法。所述资源包更新方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述资源包更新方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的资源包更新方法的流程示意图。在本实施例中,所述资源包更新方法包括:
S1、获取加密资源包,对所述加密资源包进行解密,得到解密资源包。
本发明实施例中,所述加密资源包可以根据原始资源包进行构建。例如,原始资源包为用于对客户端(如APP)等进行离线更新的H5离线资源包,业务人员通过标准H5命令向所述资源包目录中添加资源文件得到原始资源包。
进一步地,可以遍历所述原始资源包中的每一个资源文件,对所述资源文件中的内容进行哈希处理,得到所述资源文件的哈希值,并获取所述资源文件与所述原始资源包的相对路径,以所述相对路径作为key的值,以所述哈希值作为value的值,构建索引键值对(key-value),利用所述索引键值对可以准确记录原始资源包中的每一个资源文件,汇总所有的索引键值对得到索引文件,对所述索引文件进行哈希处理,得到索引哈希值,并将所述索引文件、所述索引哈希值集所述原始资源包进行加密封装,得到所述加密资源包。
本发明一可选实施例中,所述哈希处理(hash code)可以通过算法函数将任意数据转换成长度固定的数据串,即哈希值,以提高资源文件传输的安全性。同时可以利用加密算法对所述索引文件、所述索引哈希值集所述原始资源包进行加密,所述加密算法可以为RSA算法等。
具体地,所述对所述加密资源包进行解密,得到解密资源包,包括:
获取解密公钥,利用所述解密公钥对所述加密资源包进行解密;
若所述解密公钥对所述加密资源包解密失败,确定所述加密资源包来源异常;
若所述解密公钥对所述加密资源包解密成功,确定所述加密资源包来源正常,并得到解密资源包。
本发明实施例中,以RSA算法为例,所述RSA算法包括加密私钥及解密公钥,例如,银行A发布了一个银行客户端的补丁资源包供所有用户更新,首先银行A会为这个补丁资源包打上一个数字签名(就是用银行A的加密私钥对这个资源包加密然后发布),用户需要在电脑里装上银行A的数字证书(就是银行对外发布的解密公钥),数字证书会去解密这个资源包的数字签名,解密成功,补丁得以使用,同时可以确认这个补丁的来源确实是银行A。
S2、获取所述解密资源包包含的索引文件及资源文件集合。
本实施例中,解密资源包中包含索引文件和资源文件集合,该资源文件集合中包含一个或至少两个资源文件,如图片、音频、视频等文件。
该索引文件可以为预先构建的,具体的,构建索引文件的方法在S1中已进行阐述,此处不再赘述。
S3、对所述索引文件进行第一准确性校验。
本发明实施例中,所述索引文件用于罗列出了原始资源包内每一个资源文件的哈希值,利用哈希值来保证索引文件中的数据与资源包内数据准确对应,同时由于索引文件中数据结构较为简单,容易被篡改,因此需要验证索引文件是否被篡改。
具体地,所述对所述索引文件进行第一准确性校验,包括:
利用预设的第一哈希算法对所述索引文件进行哈希处理,得到索引文件哈希值;
将所述索引文件哈希值与所述解密资源包中记录的索引哈希值进行比对;
若所述索引文件哈希值与所述索引哈希值不一致,确定所述索引文件被篡改,确定第一准确性校验不通过;
若所述索引文件哈希值与所述索引哈希值一致,确定所述索引文件未被篡改,确定第一准确性校验通过。
本发明实施例中,所述预设的第一哈希算法可以为MD5算法。由于哈希算法的不可逆性及对于同一内容会生成同一哈希值的特性,通过比较所述索引文件哈希值与所述解密资源包中记录的索引哈希值,可以准确判断索引文件是否被篡改。
S4、当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果。
本发明实施例中,所述第二准确性校验具体是根据索引验证通过的索引文件对解密资源包中资源文件的内容进行校验,以确保每一个资源文件的内容未被篡改。
进一步的,所述通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果,包括:
遍历所述所述资源文件集合中的资源文件,利用预设的第二哈希算法对所述资源文件进行哈希处理,得到各个资源文件的资源哈希值;
将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果。
本发明一可选实施例中,所述第二哈希算法可以为SHA-1算法等。
进一步的,所述将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果,包括:
依次获取所有资源文件与所述解密资源包的相对路径;
以所述相对路径作为索引,查找所述索引文件中记录的哈希值;
将查找到的哈希值与所述资源文件的资源哈希值进行比对;
若所述哈希值与所述资源哈希值不一致,确定所述资源文件未通过第二准确性校验;
若所述哈希值与所述资源哈希值一致,确定所述资源文件通过第二准确性校验。
本发明实施例中,由于索引文件中包含资源文件的相对路径、以及索引文件内容的哈希值,若资源文件的内容未被篡改,通过相对路径查找到的哈希值应当与资源文件的资源哈希值一致,同时以相对路径作为索引可以提高查找哈希值的速度,进而加快资源验证中哈希对比的速率。
S5、根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件。
S6、利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
进一步的,所述利用所述通过第二准确性校验的资源文件替换历史资源文件,包括:
将所述通过第二准确性校验的资源文件标记为目标资源文件;
对所述目标资源文件的内容进行安全性校验;
若安全性校验不通过,确定所述目标资源文件异常,发送异常提醒;
若安全性校验通过,利用所述目标资源文件更新历史资源文件。
本发明一可选实施例中,对所述目标资源文件进行安全性校验包括对资源文件中的数据格式、是否包含禁止发布的信息等进行校验。通过对目标资源文件的内容进行再次校验,可以确保资源更新准确性的同时,提高资源更新的安全性。
本发明实施例中,在第一准确性校验、第二准确性校验及安全性校验中任一校验存在校验不通过的情况时,可以实时向用户发送异常告警,以提高对资源更新的维护性。
进一步的,所述利用区块链记录更新资源信息,包括:
将安全性校验通过的目标资源文件存储至区块链中预设的更新正常文件,以记录每次更新的资源文件;
将安全性校验不通过的目标资源文件存储至区块链中预设的更新异常文件,以记录每次异常的资源文件。
本实施例中,通过在区块链中记录每次更新及异常的资源文件,可以进一步提高更新资源的安全性及资源文件的可追溯性和可维护性。
本发明通过对加密资源包进行解密得到解密资源包,并对解密资源包中的索引文件进行第一准确性校验,当所述第一准确性校验通过时,通过所述索引文件对解密资源包中的资源文件集合进行第二准确性校验,可以有效检验出资源文件是否被篡改,利用通过多次准确性校验的资源文件进行资源更新,可以提高获取到的资源文件的准确性,从而提高资源更新的安全性。并且通过区块链对资源更新的情况进行记录,进一步提高了对更新的可追溯性和可维护性。因此本发明提出的资源包更新方法,可以解决资源更新不准确和存在安全风险的问题。
如图2所示,是本发明一实施例提供的资源包更新装置的功能模块图。
本发明所述资源包更新装置100可以安装于电子设备中。根据实现的功能,所述资源包更新装置100可以包括资源包解密模块101、第一准确性校验模块102、第二准确性校验模块103及资源更新模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述资源包解密模块101,用于获取加密资源包,对所述加密资源包进行解密,得到解密资源包。
本发明实施例中,所述加密资源包可以根据原始资源包进行构建。例如,原始资源包为用于对客户端(如APP)等进行离线更新的H5离线资源包,业务人员通过标准H5命令向所述资源包目录中添加资源文件得到原始资源包。
进一步地,可以遍历所述原始资源包中的每一个资源文件,对所述资源文件中的内容进行哈希处理,得到所述资源文件的哈希值,并获取所述资源文件与所述原始资源包的相对路径,以所述相对路径作为key的值,以所述哈希值作为value的值,构建索引键值对(key-value),利用所述索引键值对可以准确记录原始资源包中的每一个资源文件,汇总所有的索引键值对得到索引文件,对所述索引文件进行哈希处理,得到索引哈希值,并将所述索引文件、所述索引哈希值集所述原始资源包进行加密封装,得到所述加密资源包。
本发明一可选实施例中,所述哈希处理(hash code)可以通过算法函数将任意数据转换成长度固定的数据串,即哈希值,以提高资源文件传输的安全性。同时可以利用加密算法对所述索引文件、所述索引哈希值集所述原始资源包进行加密,所述加密算法可以为RSA算法等。
具体地,所述资源包解密模块101通过执行下述操作得到解密资源包:
获取解密公钥,利用所述解密公钥对所述加密资源包进行解密;
若所述解密公钥对所述加密资源包解密失败,确定所述加密资源包来源异常;
若所述解密公钥对所述加密资源包解密成功,确定所述加密资源包来源正常,并得到解密资源包。
本发明实施例中,以RSA算法为例,所述RSA算法包括加密私钥及解密公钥,例如,银行A发布了一个银行客户端的补丁资源包供所有用户更新,首先银行A会为这个补丁资源包打上一个数字签名(就是用银行A的加密私钥对这个资源包加密然后发布),用户需要在电脑里装上银行A的数字证书(就是银行对外发布的解密公钥),数字证书会去解密这个资源包的数字签名,解密成功,补丁得以使用,同时可以确认这个补丁的来源确实是银行A。
所述第一准确性校验模块102,用于获取所述解密资源包包含的索引文件及资源文件集合,对所述索引文件进行第一准确性校验。
本实施例中,解密资源包中包含索引文件和资源文件集合,该资源文件集合中包含一个或至少两个资源文件,如图片、音频、视频等文件。
该索引文件可以为预先构建的,具体的,构建索引文件的方法在资源包解密模块101中已进行阐述,此处不再赘述。
本发明实施例中,所述索引文件用于罗列出了原始资源包内每一个资源文件的哈希值,利用哈希值来保证索引文件中的数据与资源包内数据准确对应,同时由于索引文件中数据结构较为简单,容易被篡改,因此需要验证索引文件是否被篡改。
具体地,所述第一准确性校验模块102通过执行下述操作对所述索引文件进行第一准确性校验:
利用预设的第一哈希算法对所述索引文件进行哈希处理,得到索引文件哈希值;
将所述索引文件哈希值与所述解密资源包中记录的索引哈希值进行比对;
若所述索引文件哈希值与所述索引哈希值不一致,确定所述索引文件被篡改,确定第一准确性校验不通过;
若所述索引文件哈希值与所述索引哈希值一致,确定所述索引文件未被篡改,确定第一准确性校验通过。
本发明实施例中,所述预设的第一哈希算法可以为MD5算法。由于哈希算法的不可逆性及对于同一内容会生成同一哈希值的特性,通过比较所述索引文件哈希值与所述解密资源包中记录的索引哈希值,可以准确判断索引文件是否被篡改。
所述第二准确性校验模块103,用于当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果。
本发明实施例中,所述第二准确性校验具体是根据索引验证通过的索引文件对解密资源包中资源文件的内容进行校验,以确保每一个资源文件的内容未被篡改。
进一步地,所述第二准确性校验模块103通过执行下述操作得到第二准确性校验结果:
遍历所述所述资源文件集合中的资源文件,利用预设的第二哈希算法对所述资源文件进行哈希处理,得到各个资源文件的资源哈希值;
将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果。
本发明一可选实施例中,所述第二哈希算法可以为SHA-1算法等。
进一步地,所述第二准确性校验模块103通过执行下述操作将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果:
依次获取所有资源文件与所述解密资源包的相对路径;
以所述相对路径作为索引,查找所述索引文件中记录的哈希值;
将查找到的哈希值与所述资源文件的资源哈希值进行比对;
若所述哈希值与所述资源哈希值不一致,确定所述资源文件未通过第二准确性校验;
若所述哈希值与所述资源哈希值一致,确定所述资源文件通过第二准确性校验。
本发明实施例中,由于索引文件中包含资源文件的相对路径、以及索引文件内容的哈希值,若资源文件的内容未被篡改,通过相对路径查找到的哈希值应当与资源文件的资源哈希值一致,同时以相对路径作为索引可以提高查找哈希值的速度,进而加快资源验证中哈希对比的速率。
所述资源更新模块104,用于根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件,利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
具体地,所述资源更新模块104通过执行下述操作替换历史资源文件:
将所述通过第二准确性校验的资源文件标记为目标资源文件;
对所述目标资源文件的内容进行安全性校验;
若安全性校验不通过,确定所述目标资源文件异常,发送异常提醒;
若安全性校验通过,利用所述目标资源文件更新历史资源文件。
本发明一可选实施例中,对所述目标资源文件进行安全性校验包括对资源文件中的数据格式、是否包含禁止发布的信息等进行校验。通过对目标资源文件的内容进行再次校验,可以确保资源更新准确性的同时,提高资源更新的安全性。
本发明实施例中,在第一准确性校验、第二准确性校验及安全性校验中任一校验存在校验不通过的情况时,可以实时向用户发送异常告警,以提高对资源更新的维护性。
进一步地,所述资源更新模块104通过执行下述操作记录更新资源信息:
将安全性校验通过的目标资源文件存储至区块链中预设的更新正常文件,以记录每次更新的资源文件;
将安全性校验不通过的目标资源文件存储至区块链中预设的更新异常文件,以记录每次异常的资源文件。
本实施例中,通过在区块链中记录每次更新及异常的资源文件,可以进一步提高更新资源的安全性及资源文件的可追溯性和可维护性。
本发明通过对加密资源包进行解密得到解密资源包,并对解密资源包中的索引文件进行第一准确性校验,当所述第一准确性校验通过时,通过所述索引文件对解密资源包中的资源文件集合进行第二准确性校验,可以有效检验出资源文件是否被篡改,利用通过多次准确性校验的资源文件进行资源更新,可以提高获取到的资源文件的准确性,从而提高资源更新的安全性。并且通过区块链对资源更新的情况进行记录,进一步提高了对更新的可追溯性和可维护性。因此本发明提出的资源包更新装置,可以解决资源更新不准确和存在安全风险的问题。
如图3所示,是本发明一实施例提供的实现资源包更新方法的电子设备的结构示意图,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序,如资源包更新程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的资源包更新方法,包括:
获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
获取所述解密资源包包含的索引文件及资源文件集合;
对所述索引文件进行第一准确性校验;
当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果;
根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;
利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
上述通信总线114可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口112用于上述电子设备与其他设备之间的通信。
存储器113可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器113还可以是至少一个位于远离前述处理器111的存储装置。
上述的处理器111可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
获取所述解密资源包包含的索引文件及资源文件集合;
对所述索引文件进行第一准确性校验;
当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果;
根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;
利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (6)
1.一种资源包更新方法,其特征在于,所述方法包括:
获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
获取所述解密资源包包含的索引文件及资源文件集合,该索引文件中包含资源文件的相对路径,以及索引文件的哈希值;对所述索引文件进行第一准确性校验,包括利用预设的第一哈希算法对所述索引文件进行哈希处理,得到索引文件哈希值,将所述索引文件哈希值与所述解密资源包中记录的索引哈希值进行比对,若所述索引文件哈希值与所述索引哈希值不一致,确定所述索引文件被篡改,确定第一准确性校验不通过,若所述索引文件哈希值与所述索引哈希值一致,确定所述索引文件未被篡改,确定第一准确性校验通过;
当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果,包括遍历所述资源文件集合中的资源文件,利用预设的第二哈希算法对所述资源文件进行哈希处理,得到各个资源文件的资源哈希值,将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果;
根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;
利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息,包括将所述通过第二准确性校验的资源文件标记为目标资源文件,对所述目标资源文件的内容进行安全性校验,若安全性校验不通过,确定所述目标资源文件异常,发送异常提醒,若安全性校验通过,利用所述目标资源文件更新历史资源文件,包括将安全性校验通过的目标资源文件存储至区块链中预设的更新正常文件,以记录每次更新的资源文件,将安全性校验不通过的目标资源文件存储至区块链中预设的更新异常文件,以记录每次异常的资源文件。
2.如权利要求1所述的资源包更新方法,其特征在于,所述将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果,包括:
依次获取所有资源文件与所述解密资源包的相对路径,查找所述索引文件中记录的哈希值;
将查找到的哈希值与所述资源文件的资源哈希值进行比对;
若所述哈希值与所述资源哈希值不一致,确定所述资源文件未通过第二准确性校验;
若所述哈希值与所述资源哈希值一致,确定所述资源文件通过第二准确性校验。
3.如权利要求1至2中任一项所述的资源包更新方法,其特征在于,所述对所述加密资源包进行解密,得到解密资源包,包括:
获取解密公钥,利用所述解密公钥对所述加密资源包进行解密;
若所述解密公钥对所述加密资源包解密失败,确定所述加密资源包来源异常;
若所述解密公钥对所述加密资源包解密成功,确定所述加密资源包来源正常,并得到解密资源包。
4.一种资源包更新装置,其特征在于,所述装置包括:
资源包解密模块,用于获取加密资源包,对所述加密资源包进行解密,得到解密资源包;
第一准确性校验模块,用于获取所述解密资源包包含的索引文件及资源文件集合,该索引文件中包含资源文件的相对路径,以及索引文件的哈希值;对所述索引文件进行第一准确性校验,包括利用预设的第一哈希算法对所述索引文件进行哈希处理,得到索引文件哈希值,将所述索引文件哈希值与所述解密资源包中记录的索引哈希值进行比对,若所述索引文件哈希值与所述索引哈希值不一致,确定所述索引文件被篡改,确定第一准确性校验不通过,若所述索引文件哈希值与所述索引哈希值一致,确定所述索引文件未被篡改,确定第一准确性校验通过;
第二准确性校验模块,用于当所述第一准确性校验通过时,通过所述索引文件对所述资源文件集合进行第二准确性校验,得到第二准确性校验结果,包括遍历所述资源文件集合中的资源文件,利用预设的第二哈希算法对所述资源文件进行哈希处理,得到各个资源文件的资源哈希值,将所有资源文件的资源哈希值与所述索引文件中记录的哈希值进行对比,得到第二准确性校验结果;
资源更新模块,用于根据所述第二准确性校验结果获取所述资源文件集合中通过第二准确性校验的资源文件;利用所述通过第二准确性校验的资源文件替换历史资源文件,以及利用区块链记录更新资源信息,包括将所述通过第二准确性校验的资源文件标记为目标资源文件,对所述目标资源文件的内容进行安全性校验,若安全性校验不通过,确定所述目标资源文件异常,发送异常提醒,若安全性校验通过,利用所述目标资源文件更新历史资源文件,包括将安全性校验通过的目标资源文件存储至区块链中预设的更新正常文件,以记录每次更新的资源文件,将安全性校验不通过的目标资源文件存储至区块链中预设的更新异常文件,以记录每次异常的资源文件。
5.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至3中任意一项所述的资源包更新方法。
6.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任意一项所述的资源包更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110685820.9A CN113407213B (zh) | 2021-06-21 | 2021-06-21 | 资源包更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110685820.9A CN113407213B (zh) | 2021-06-21 | 2021-06-21 | 资源包更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113407213A CN113407213A (zh) | 2021-09-17 |
CN113407213B true CN113407213B (zh) | 2022-12-23 |
Family
ID=77681915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110685820.9A Active CN113407213B (zh) | 2021-06-21 | 2021-06-21 | 资源包更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113407213B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593196B (zh) * | 2008-05-30 | 2013-09-25 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
CN110069729B (zh) * | 2017-11-15 | 2022-07-01 | 上海优扬新媒信息技术有限公司 | 一种应用的离线缓存方法和系统 |
CN110378104A (zh) * | 2018-04-16 | 2019-10-25 | 北京升鑫网络科技有限公司 | 一种升级防纂改的方法 |
CN109908585B (zh) * | 2019-03-06 | 2022-12-27 | 珠海金山数字网络科技有限公司 | 一种文件处理方法及系统、计算设备及存储介质 |
CN109999489A (zh) * | 2019-03-29 | 2019-07-12 | 北京金山安全软件有限公司 | 资源更新方法、装置和电子设备 |
CN109995866B (zh) * | 2019-04-03 | 2022-04-29 | 深圳市网心科技有限公司 | 分布式文件校验方法、装置、计算机装置及存储介质 |
CN110457628B (zh) * | 2019-07-05 | 2020-09-22 | 平安国际智慧城市科技股份有限公司 | 网页版本校验方法、装置、设备及存储介质 |
CN111476014A (zh) * | 2020-03-18 | 2020-07-31 | 平安国际智慧城市科技股份有限公司 | 校验方法及相关装置 |
CN112367169B (zh) * | 2020-11-11 | 2022-11-29 | 平安科技(深圳)有限公司 | 数据加解密方法、装置、设备及存储介质 |
CN112637307B (zh) * | 2020-12-16 | 2023-07-11 | 平安消费金融有限公司 | 文件更新方法、系统、计算机设备及存储介质 |
-
2021
- 2021-06-21 CN CN202110685820.9A patent/CN113407213B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113407213A (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637669B2 (en) | Data and data lineage control, tracking, and verification | |
CN108076057B (zh) | 一种基于区块链的数据保全系统及方法 | |
CN107077557B (zh) | 软件应用程序发布和验证的方法及装置 | |
US11860680B2 (en) | Software pipeline and release validation | |
US20190207770A1 (en) | Methods for access control of contract data in a distributed system with distributed consensus and contract generator and validation server thereof | |
WO2019170173A2 (en) | Managing cybersecurity vulnerabilities using blockchain networks | |
US8245037B1 (en) | Encryption key management | |
US20140150096A1 (en) | Method for assuring integrity of mobile applications and apparatus using the method | |
CN113221166A (zh) | 一种获取区块链数据的方法、装置、电子设备及存储介质 | |
JP2023504492A (ja) | データ・オブジェクトの効率的しきい値ストレージ | |
JP2022541048A (ja) | ブロックチェーンを構成するためのセキュリティ層 | |
CN111881481A (zh) | 基于区块链的医疗数据处理方法、装置、设备及存储介质 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
US10853197B2 (en) | Data recovery with authenticity | |
CN112948851A (zh) | 用户认证方法、装置、服务器及存储介质 | |
CN114282193A (zh) | 一种应用授权方法、装置、设备及存储介质 | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
WO2022120938A1 (zh) | 数据共享方法、系统、装置、设备和存储介质 | |
US20140164773A1 (en) | Offline data access using trusted hardware | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
US20220045866A1 (en) | Method and system for authentication seal deployment in networked immutable transactions | |
CN111404892A (zh) | 数据监管方法、装置和服务器 | |
CN113378224B (zh) | 医学影像存储方法、装置、设备及存储介质 | |
CN118114222A (zh) | 一种数据产品的认证方法、装置、系统、设备及介质 | |
CN117459327A (zh) | 一种云数据透明加密保护方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |