CN116361833A - 校验方法、装置及终端设备 - Google Patents
校验方法、装置及终端设备 Download PDFInfo
- Publication number
- CN116361833A CN116361833A CN202310286795.6A CN202310286795A CN116361833A CN 116361833 A CN116361833 A CN 116361833A CN 202310286795 A CN202310286795 A CN 202310286795A CN 116361833 A CN116361833 A CN 116361833A
- Authority
- CN
- China
- Prior art keywords
- client
- verification
- server
- check code
- random number
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 242
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000009434 installation Methods 0.000 claims abstract description 114
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提出一种校验方法和装置及终端设备,涉及网络安全、信息技术产业等领域,其中方法包括:在接收客户端发送的包括客户端对应的程序版本号的校验请求后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并将随机数发送给客户端,之后,在接收客户端返回的第二校验码后,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
Description
技术领域
本申请涉及网络安全、信息技术产业等领域,尤其涉及一种校验方法、装置及终端设备。
背景技术
用户在安装应用的客户端时,下载的应用安装包可能被篡改,植入了恶意代码或广告。因此,亟需一种准确的校验方法,以确定安装包是否被篡改。
发明内容
本申请提出一种校验方法和装置,以提高校验的可靠性与准确性。本申请的技术方案如下:
根据本申请实施例的第一方面,本申请实施例提供一种校验方法,包括:
接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号;
根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码;
将随机数发送给客户端;
接收客户端返回的第二校验码;
根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
根据本申请实施例的第二方面,本申请实施例提供另一种校验方法,包括:
向服务端发送校验请求,其中,校验请求中包括客户端对应的程序版本号;
接收服务端返回的随机数;
根据随机数及客户端侧的安装包文件,生成第二校验码;
向服务端返回第二校验码;
接收服务端返回的校验结果。
根据本申请实施例的第三方面,本申请实施例提供一种校验装置,包括:
接收模块,用于接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号;
生成模块,用于根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码;
发送模块,用于将随机数发送给客户端;
上述接收模块,用于接收客户端返回的第二校验码;
上述发送模块,用于根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
根据本申请实施例的第四方面,本申请实施例提供另一种校验装置,包括:
发送模块,用于向服务端发送校验请求,其中,校验请求中包括客户端对应的程序版本号;
接收模块,用于接收服务端返回的随机数;
生成模块,用于根据随机数及客户端侧的安装包文件,生成第二校验码;
上述发送模块,用于向服务端返回第二校验码;
上述接收模块,用于接收服务端返回的校验结果。
根据本申请实施例的第五方面,提供一种终端设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如上述第一方面实施例的校验方法,或者实现如上述第二方面实施例的校验方法。
根据本申请实施例的第六方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如上述第一方面实施例的校验方法,或者执行如上述第二方面实施例的校验方法。
根据本申请实施例的第七方面,提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述第一方面实施例的校验方法,或者实现上述第二方面实施例的校验方法。
本申请的实施例提供的技术方案至少带来以下有益效果:在接收客户端发送的包括客户端对应的程序版本号的校验请求后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并将随机数发送给客户端,之后,在接收客户端返回的第二校验码后,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请第一实施例提供的一种校验方法的流程示意图;
图2为本申请第二实施例提供的另一种校验方法的流程示意图;
图3为本申请第三实施例提供的另一种校验方法的流程示意图;
图4为本申请第四实施例提供的另一种校验方法的流程示意图;
图5为本申请第五实施例提供的另一种校验方法的流程示意图;
图6为本申请第六实施例提供的另一种校验方法的流程示意图;
图7为本申请第七实施例提供的另一种校验方法的流程示意图;
图8为本申请第八实施例提供的一种校验装置的结构示意图;
图9为本申请第九实施例提供的一种校验装置的结构示意图;
图10是根据一示例性实施例示出的一种校验终端设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例的校验方法,是由本申请实施例提供的校验装置(以下简称校验装置)执行,该装置可配置于计算机等设备中,以保证校验的可靠性。
下面参考附图描述本申请实施例的校验方法和装置。
图1为本申请实施例所提供的一种校验方法的流程图,该方法由服务端执行,包括以下步骤。
步骤101,接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号。
其中,程序版本号可以辅助服务端唯一确定生成该客户端的程序安装包。
本申请中,服务端接收到客户端发送的校验请求,可能为客户端在首次启动时触发的,或者也可能为客户端在执行某些任务时触发的,本申请对此不做限定。
需要说明的是,服务端侧存储有各个程序版本号对应的程序安装包,不同的程序安装包中包含的文件的数量及文件内容等不同。
步骤102,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码。
本申请中,可以查询预设的版本信息表,确定程序版本号关联的安装包。其中,版本信息表中包含各安装包的名称与程序版本号的关联关系。之后,可以对该安装包中包含的文件数量进行统计,确定该安装包中包含的文件总数量。然后,可以基于该文件总数量,利用预设的随机数生成算法生成随机数,以基于该随机数重新对该安装包中各文件进行排序,并基于调整后的文件顺序及各文件中的字节流,利用预设的运算规则生成第一校验码。其中,随机数小于或等于程序版本号关联的安装包中文件的总数量。
可选的,还可以随机生成运算规则,以进一步第一校验码的随机性,从而提高校验的可靠性。
可以理解的是,第一校验码中包含了安装包中各文件的字节流信息。当生成客户端的安装包中某一文件的字节流发生改变时(即安装包被篡改),生成的校验码将发生变化。因此,基于第一校验码可以准确的确定生成客户端的安装包是否被篡改。此外,基于该随机数重新对程序版本号关联的安装包中各文件进行排序,并基于调整后的文件顺序生成第一校验码。有利于提高第一校验码的随机性,从而提高校验的可靠性。
可选的,可以在生成随机数之后,执行生成第一校验码操作。或者,也可以是在接收到客户端返回的第二校验码后,再执行生成第一校验码操作。
或者,还可以是在接收到客户端返回的第二校验码,并在确定了客户端返回的时间戳合法的情况下,再执行生成第一校验码操作。在时间戳不合法的情况下,结束校验程序。从而可以避免在时间戳不合法的情况下,执行生成第一校验码操作导致的资源和时间的消耗。其中,客户端返回的时间戳为服务端与第一校验码同时发送给客户端的时间戳。
或者,还可以在将随机数发送给客户端后,等待客户端返回第二校验码时(即在客户端接收随机数,并生成第二校验码的过程中),服务端执行生成第一校验码操作。从而提高校验的效率。
步骤103,将随机数发送给客户端。
本申请中,可以直接将随机数发送给客户端,以指导客户端根据该随机数及生成该客户端的安装包,利用与服务端生成第一校验码相同的运算规则生成第二校验码。或者,还可以利用客户端返回的密钥对随机数进行加密之后再发送给客户端,以避免随机数被窃听或篡改,从而提高随机数传输的安全性,进而提高校验的可靠性。
步骤104,接收客户端返回的第二校验码。
本申请中,服务端可以接收客户端根据随机数生成的第二校验码,之后,再计算第一校验码与第二校验码之间的匹配度。以便于基于该匹配度确定生成客户端的安装包是否被篡改。
可以理解的是,第一校验码与第二校验码之间的匹配度越高,生成客户端的安装包被篡改的可能性越小。
步骤105,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
其中,检验结果用于指示生成客户端的安装包是否被篡改。
本申请中,在第二校验码与第一校验码匹配的情况下,说明生成客户端的安装包与服务端中的客户端的程序版本号对应的原版安装包一致,因此,生成客户端的安装包未被篡改。此时,可以向客户端返回安装包未被篡改的校验结果。
或者,在第二校验码与第一校验码未匹配的情况下,说明生成客户端的安装包与服务端中的客户端的程序版本号对应的原版安装包不一致,因此,生成客户端的安装包被篡改。此时,向客户端返回安装包被篡改的校验结果。
本申请中,在接收客户端发送的包括客户端对应的程序版本号的校验请求后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并将随机数发送给客户端,之后,在接收客户端返回的第二校验码后,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
图2为本申请实施例提供的另一种校验方法,该方法由服务端执行。
如图2所示,该方法包括:
步骤201,接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号。
本申请中,步骤201的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤202,根据程序版本号关联的安装包中包含的文件数量,确定最大值。
本申请中,随机数用于指示对安装包中的文件进行重新排序的起始文件,因此,可以将程序版本号关联的安装包中包含的文件的总数量,确定为随机数的最大值。
步骤203,将在预设的最小值及最大值之间随机抽取的数值,确定为随机数。
步骤204,将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列。
其中,预设规则可以为文件大小、文件名字符的排序等,本申请对此不作限制。
可选的,可以预先在系统中为不同的设备类型和/或不同的应用类型设置不同的规则。在将安装包中包含的文件按照预设规则进行排序之前,可以通过查询,确定客户端所在的设备的类型和/或安装包所属的应用的类型对应的预设规则。从而提高生成第一校验码的随机性。其中,设备的类型可以为手机、电脑、可穿戴设备等,本申请对此不作限制。
可选的,在客户端中未配置预设规则的情况下,可以将预设规则发送给客户端。以指示客户端利用该规则对安装包中的文件进行排序。
步骤205,将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列。
比如,第一文件序列中有10个文件,随机数为3。则以第一文件序列中第3个文件作为第二文件序列的首文件,并从第一文件序列中第4个文件起,依次取文件作为第二文件序列中的第2、第3、…、第8个文件,再返回将第一文件序列中第1个文件、第2个文件分别作为第二文件序列的第9个文件、第10个文件。
由此,基于更新后的第二文件序列,生成第一校验码,有利于提高第一校验码的随机性。
可选的,还可以将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,并以预设的选取规则,对第一文件序列中各文件重新排序,生成第二文件序列。
步骤206,基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第一校验码。
本申请中,可以利用预设的运算规则,对第二文件序列中每个文件对应的字节流进行计算,确定每个文件对应的字符或数值,然后根据第二文件序列中各文件的排序,将各文件对应的字符或数值进行拼接,生成第一校验码。
或者,可以利用预设的运算规则,对第二文件序列中各文件对应的字节流进行运算,直接生成该第二文件序列对应的第二校验码。
可选的,可以随机生成预设的运算规则,其中,运算规则为多项式函数。从而提高生成第一校验码的随机性。
可选的,在随机生成运算规则后,可以将该运算规则发送给客户端,以指示客户端根据该运算规则计算第二校验码。或者,在客户端中未预先配置运算规则的情况下,可以将预设的运算规则发送给客户端。
步骤207,将随机数发送给客户端。
步骤208,接收客户端返回的第二校验码。
步骤209,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
本申请中,步骤207-步骤209的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
本申请中,在根据客户端发送的校验请求中的程序版本号关联的安装包中包含的文件数量,确定最大值后,将在预设的最小值及最大值之间随机抽取的数值,确定为随机数,并将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列,之后,再将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列,并基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第一校验码,然后,将随机数发送给客户端,并接收客户端返回的第二校验码,以根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中各文件的内容信息的同时,提高了生成第一校验码的随机性,从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
图3为本申请实施例提供的另一种校验方法,该方法由服务端执行。
如图3所示,该方法包括:
步骤301,接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号。
本申请中,步骤301的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤302,利用预设的私钥对校验请求进行解密,以获取校验请求中包含的程序版本号。
本申请中,为了避免校验请求中的程序版本号被篡改,服务端接收到的校验请求可以为经过公钥加密后的,从而服务端可以利用预设的私钥对校验请求进行解码,以得到客户端对应的程序版本号。
步骤303,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码。
本申请中,步骤303的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤304,通过预设的私钥对随机数及当前的第一时间戳进行签名,以获取签名后的数据。
其中,第一时间戳用于快速判断客户端返回的第二校验码是否与第一校验码对应。
本申请中,通过预设的私钥对随机数及当前的第一时间戳进行签名,获取签名后的数据。以供客户端验证服务端发送的第一时间戳及随机数是否与校验请求对应。从而提高校验的效率与可靠性。
步骤305,在校验请求中包括对称密钥的情况下,利用对称密钥对签名后的数据进行加密,以获取加密后的随机数。
本申请中,服务端接收的校验请求中可以包含客户端生成的对称密钥。在校验请求中包括对称密钥的情况下,可以利用对称密钥对签名后的数据进行加密,以获取加密后的随机数。从而保证数据的安全性。
步骤306,将加密后的随机数发送给客户端。
步骤307,接收客户端返回的第二校验码。
本申请中,步骤307的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤308,获取客户端返回的第二时间戳。
本申请中,客户端可以将接收到的服务端发送的随机数对应的第一时间戳,确定为第二时间戳,并与第二校验码同时发送给服务端。由此,服务端可以获取到客户端返回的第二时间戳。
步骤309,在第二时间戳与第一时间戳匹配的情况下,将第一校验码与第二校验码进行匹配。
本申请中,将第二时间戳与第一时间戳进行比对,确定第二时间戳与第一时间戳是否匹配,在第二时间戳与第一时间戳匹配的情况下,说明第二校验码与第一校验码对应。此时,可以将第一校验码与第二校验码进行匹配,以确定生成客户端的安装包是否被篡改。
可选的,在在第二时间戳与第一时间戳不匹配的情况下,结束校验程序。以提高校验效率。
可选的,步骤303中的生成第一校验码的操作,可在确定第二时间戳与第一时间戳匹配之后再执行,以避免在时间戳不合法(即第二时间戳与第一时间戳不匹配)的情况下,执行生成第一校验码操作导致的资源和时间的消耗。
步骤310,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
本申请中,步骤310的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
本申请中,在利用预设的私钥对客户端发送的校验请求进行解密,以获取校验请求中包含的程序版本号后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并通过预设的私钥对随机数及当前的第一时间戳进行签名,以获取签名后的数据,之后,在校验请求中包括对称密钥的情况下,利用对称密钥对签名后的数据进行加密,以获取加密后的随机数,并将加密后的随机数发送给客户端,然后,接收客户端返回的第二校验码,获取客户端返回的第二时间戳,并在第二时间戳与第一时间戳匹配的情况下,将第一校验码与第二校验码进行匹配,以根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性,并保证了传输校验信息的安全性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
图4为本申请实施例提供的另一种校验方法,该方法由客户端执行。
如图4所示,该方法包括:
步骤401,向服务端发送校验请求,其中,校验请求中包括客户端对应的程序版本号。
本申请中,客户端在启动完成后,或者执行预设类型的服务之前,可以读取程序版本号,并基于该程序版本号生成并向服务端发送校验请求,以确定生成客户端的安装包是否被篡改,从而保证程序运行的安全性。
其中,预设类型的服务可以为支付类服务,或者需要获取用户信息类的服务等涉及隐私信息的服务,本申请对此不作限制。
可选的,还可以利用预设公钥对程序版本号进行加密后,再通过校验请求发送给服务端,以避免校验请求中的程序版本号被篡改。
步骤402,接收服务端返回的随机数。
本申请中,还可以接收服务端利用客户端返回的密钥加密后的随机数。之后,利用该密钥对该加密的随机数进行解密,即可确定服务端返回的随机数。以避免随机数被窃听、或篡改,从而提高随机数的安全性,进而提高校验的可靠性。
步骤403,根据随机数及客户端侧的安装包文件,生成第二校验码。
本申请中,可以基于随机数重新对客户端侧的的安装包(即生成客户端的安装包)中各文件进行排序,并基于调整后的文件顺序及各文件中的字节流,利用预设的运算规则,或者服务端指示的运算规则生成第二校验码。
可以理解的是,第二校验码中包含了客户端侧的安装包中各文件的字节流信息。当该安装包中某一文件的字节流发生改变时(即安装包被篡改),第二校验码将与服务端中程序版本号对应的原版安装包的第一校验码不同。因此,基于第二校验码可以准确的确定生成客户端的安装包是否被篡改。此外,基于该随机数重新对客户端侧的安装包中各文件进行排序,并基于调整后的文件顺序生成第二校验码。有利于提高第二校验码的随机性,从而提高校验的可靠性。
需要说明的是,生成第二校验码的运算规则与生成第一校验码的运算规则相同。基于随机数对客户端侧的安装包中各文件进行重新排序的方法,与服务端基于随机数对对应的原版安装包中各文件进行重新排序的方法相同。
步骤404,向服务端返回第二校验码。
本申请中,客户端可以将第二校验码发挥给服务端,以便服务端计算第一校验码与第二校验码之间的匹配度,并基于该匹配度确定生成客户端的安装包是否被篡改。
可选的,还可以利用预设的密钥对第二校验码加密,将加密后的第二校验码发送给服务端。以提高数据传输的安全性,从而提高校验的可靠性。
步骤405,接收服务端返回的校验结果。
其中,检验结果用于指示生成客户端的安装包是否被篡改。
本申请中,客户端可以对校验结果进行解析,确定生成客户端的安装包是否被篡改。
本申请中,在向服务端发送包括客户端对应的程序版本号的校验请求后,接收服务端返回的随机数,并根据随机数及客户端侧的安装包文件,生成第二校验码,之后,向服务端返回第二校验码,并接收服务端返回的校验结果。使得第二校验码中包含了生成客户端的安装包中的文件信息的同时,提高了生成第二校验码的随机性,从而提高了校验的可靠性与准确性。
图5为本申请实施例提供的另一种校验方法,该方法由客户端执行。
如图5所示,该方法包括:
步骤501,向服务端发送校验请求,其中,校验请求中包括客户端对应的程序版本号。
步骤502,接收服务端返回的随机数。
本申请中,步骤501-步骤502的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤503,将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列。
其中,预设规则可以为文件大小、文件名字符的排序等,本申请对此不作限制。
可选的,可以预先在系统中为不同的设备类型和/或不同的应用类型设置不同的规则。在将安装包中包含的文件按照预设规则进行排序之前,可以通过查询,确定客户端所在的设备的类型和/或安装包所属的应用的类型对应的预设规则。从而提高生成第二校验码的随机性。其中,设备的类型可以为手机、电脑、可穿戴设备等,本申请对此不作限制。
可选的,还可以接收服务端发送的规则,并基于该规则对安装包中包含的文件进行排序。
需要说明的是,客户端中对安装包中包含的文件进行排序的规则,与服务端中对安装包中包含的文件进行排序的规则相同。
步骤504,将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列。
比如,第一文件序列中有10个文件,随机数为3。则以第一文件序列中第3个文件作为第二文件序列的首文件,并从第一文件序列中第4个文件起,依次取文件作为第二文件序列中的第2、第3、…、第8个文件,再返回将第一文件序列中第1个文件、第2个文件分别作为第二文件序列的第9个文件、第10个文件。
可选的,还可以将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,并以预设的选取规则,对第一文件序列中各文件重新排序,生成第二文件序列。其中,选取规则与服务端中的选取规则相同。
步骤505,基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第二校验码。
本申请中,可以利用预设的运算规则,对第二文件序列中每个文件对应的字节流进行运算,确定每个文件对应的字符或数值,然后根据第二文件序列中各文件的排序,将各文件对应的字符或数值进行拼接,生成第二校验码。
或者,可以利用预设的运算规则,对第二文件序列中各文件对应的字节流进行运算,直接生成该第二文件序列对应的第二校验码。
可选的,可以接收服务端发送的预设的运算规则,并基于该运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第二校验码。
步骤506,向服务端返回第二校验码。
步骤507,接收服务端返回的校验结果。
本申请中,步骤506-步骤507的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
本申请中,在向服务端发送包括客户端对应的程序版本号的校验请求后,接收服务端返回的随机数,并将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列,之后,将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列,并基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第二校验码,然后,向服务端返回第二校验码,并接收服务端返回的校验结果。使得第二校验码中包含了生成客户端的安装包中的文件信息的同时,提高了生成第二校验码的随机性,从而提高了校验的可靠性与准确性。
图6为本申请实施例提供的另一种校验方法,该方法由客户端执行。
如图6所示,该方法包括:
步骤601,利用预设的公钥将程序版本号进行加密,以获取加密后的密文。
本申请中,预设的公钥可以预先封装在客户端程序中,由此,客户端即可读取该预设的公钥。客户端在读取程序版本号后,可以利用预设的公钥将程序版本号进行加密,以获取加密后的包含程序版本信息的密文。从而避免校验请求中的程序版本号被篡改。
可选的,还可以随机生成对称密钥,并利用预设的公钥将程序版本号及对称密钥进行加密,以获取加密后的包含程序版本号及对称密钥的密文,并将该密文发送给服务端。以指示服务端根据该密文中的对称密钥对返回的数据进行加密,从而提高数据传输的安全性,进而提高校验的可靠性。
可以理解的是,客户端利用对称密钥能够服务端返回的数据进行准确解密时,说明服务端返回的数据为客户端请求的数据。
步骤602,通过校验请求向服务端发送加密后的密文。
步骤603,接收服务端返回的随机数。
本申请中,当客户端接收到服务端返回的随机数为加密后的随机数时,可以利用对称密钥对该数据进行解密,获取该数据中包含的随机数。
可选的,服务端返回的数据中可以包含随机数及第一校验码对应的第一时间戳。
可选的,服务端返回的数据为利用预设的私钥进行签名后的数据时,客户端在利用对称密钥对服务端返回的数据进行解密后,可以对解密后的数据进行验签,以确定服务端返回的数据是否与校验请求对应。
步骤604,根据随机数及客户端侧的安装包文件,生成第二校验码。
本申请中,步骤604的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
步骤605,在服务端返回的数据中包含第一时间戳的情况下,利用预设的公钥将第一时间戳与第二校验码进行加密,以生成加密后的校验数据。
其中,第一时间戳用于快速判断客户端返回的第二校验码是否与第一校验码对应。
本申请中,客户端对服务端返回的数据进行解析,获取第一时间戳后,可以利用预设的公钥将第一时间戳与第二校验码进行加密,以生成加密后的校验数据。从而保障数据传输的安全性,提高校验的准确性。
步骤606,向服务端返回加密后的校验数据。
步骤607,接收服务端返回的校验结果。
本申请中,步骤607的具体实现过程,可参见本申请任一实施例的详细描述,在此不再赘述。
本申请中,在利用预设的公钥将程序版本号进行加密,获取加密后的密文后,通过校验请求向服务端发送加密后的密文,并利用对称密钥对服务端返回的数据进行解密,以获取随机数,之后,根据随机数及客户端侧的安装包文件,生成第二校验码,并在服务端返回的数据中包含第一时间戳的情况下,利用预设的公钥将第一时间戳与第二校验码进行加密,以生成加密后的校验数据,然后,向服务端返回加密后的校验数据,并接收服务端返回的校验结果。使得第二校验码中包含了生成客户端的安装包中的文件信息的同时,提高了生成第二校验码的随机性,并保证了传输校验信息的安全性。从而提高了校验的可靠性与准确性。
图7为本申请实施例提供的另一种校验方法,如图7所示:客户端可以生成对称密钥B,并获取程序版本号,之后,利用预设的公钥A对程序版本号和密钥B进行加密之后,通过校验请求发送给服务端。服务端利用预设的私钥A对校验请求中的加密数据进行解密后,即可获取程序版本号及密钥B。之后,可以获取第一时间戳,并根据程序版本号关联的安装包中包含的文件数量,生成随机数。然后,利用私钥A对第一时间戳、随机数、随机生成的或预设的运算规则进行签名,并利用密钥B对签名后的数据进行加密后,再发送给客户端。客户端利用密钥B对接收到的加密数据进行解密后,再利用公钥A进行验签。在验签通过的情况下,根据解密获取的随机数及客户端侧的安装包文件,生成第二校验码,并将第一时间戳确定为第二时间戳,利用密钥B对第二校验码及第一时间戳进行加密后发送给服务端。服务端利用密钥B对第二校验码及第二时间戳进行解密后,对第一时间戳和第二时间戳进行比较,确定第一时间戳和第二时间戳是否匹配。在第一时间戳和第二时间戳匹配的情况下,再根据随机数及程序版本号对应的安装包中的文件,生成第一校验码。之后,再确定第二校验码与第一校验码的匹配度,以根据该匹配度,确定校验结果。然后,利用私钥A对校验结果进行签名,并利用密钥B对签名后的数据进行加密后,发送给客户端。客户端利用密钥B及私钥A对该数据进行解密并验签后,即可确定校验结果。在校验结果为安装包未被篡改的情况下,可以发送业务数据。服务端在接收到业务数据后,可以确认校验结果是否为安装包未被篡改,在安装包未被篡改的情况下,对业务数据进行处理。从而提高了校验的可靠性和准确性,进而保证了业务处理的安全性。
图8是根据一示例性实施例示出的一种校验装置框图。参照图8,该装置包括接收模块810、生成模块820、发送模块830。
接收模块810,用于接收客户端发送的校验请求,其中,校验请求中包括客户端对应的程序版本号;
生成模块820,用于根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码;
发送模块830,用于将随机数发送给客户端;
上述接收模块810,用于接收客户端返回的第二校验码;
上述发送模块830,用于根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。
在本申请实施例一种可能的实现方式中,上述生成模块820,用于:
根据程序版本号关联的安装包中包含的文件数量,确定最大值;
将在预设的最小值及最大值之间随机抽取的数值,确定为随机数;
将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列;
将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列;
基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第一校验码。
在本申请实施例一种可能的实现方式中,还包括确定模块,用于:
根据以下信息中的至少一项,确定预设规则:
客户端所在的设备的类型,安装包所属的应用的类型。
在本申请实施例一种可能的实现方式中,上述生成模块820,还用于:
随机生成预设的运算规则。
在本申请实施例一种可能的实现方式中,上述发送模块830,还用于:
将预设的运算规则发送给客户端。
在本申请实施例一种可能的实现方式中,还包括加解密模块,用于:
利用预设的私钥对校验请求进行解密,以获取校验请求中包含的程序版本号。
在本申请实施例一种可能的实现方式中,上述加解密模块,用于:
通过预设的私钥对随机数及当前的第一时间戳进行签名,以获取签名后的数据;
在校验请求中包括对称密钥的情况下,利用对称密钥对签名后的数据进行加密,以获取加密后的随机数;
上述发送模块830,用于将加密后的随机数发送给客户端。
在本申请实施例一种可能的实现方式中,还包括:
获取模块,用于获取客户端返回的第二时间戳;
匹配模块,用于在第二时间戳与第一时间戳匹配的情况下,将第一校验码与第二校验码进行匹配。
在本申请实施例一种可能的实现方式中,上述发送模块830,用于:
在第二校验码与第一校验码匹配的情况下,向客户端返回安装包未被篡改的校验结果;或者,
在第二校验码与第一校验码未匹配的情况下,向客户端返回安装包被篡改的校验结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请中,在接收客户端发送的包括客户端对应的程序版本号的校验请求后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并将随机数发送给客户端,之后,在接收客户端返回的第二校验码后,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
图9是根据一示例性实施例示出的一种校验装置框图。参照图9,该装置包括发送模块910、接收模块920、生成模块930。
发送模块910,用于向服务端发送校验请求,其中,校验请求中包括客户端对应的程序版本号;
接收模块920,用于接收服务端返回的随机数;
生成模块930,用于根据随机数及客户端侧的安装包文件,生成第二校验码;
上述发送模块910,用于向服务端返回第二校验码;
上述接收模块920,用于接收服务端返回的校验结果。
在本申请实施例一种可能的实现方式中,上述生成模块930,用于:
将安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列;
将第一文件序列中排序位置编号与随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列;
基于预设的运算规则,对第二文件序列中各个文件对应的字节流进行运算,以生成第二校验码。
在本申请实施例一种可能的实现方式中,还包括确定模块,用于:
根据以下信息中的至少一项,确定预设规则:
客户端所在的设备的类型,安装包所属的应用的类型。
在本申请实施例一种可能的实现方式中,上述接收模块920,还用于:
接收服务端发送的预设的运算规则。
在本申请实施例一种可能的实现方式中,上述发送模块910,用于:
在启动完成后向服务端发送校验请求;或者,
在执行预设类型的服务之前,向服务端发送校验请求。
在本申请实施例一种可能的实现方式中,上述发送模块910,包括:
加密单元,用于利用预设的公钥将程序版本号进行加密,以获取加密后的密文;
发送单元,用于通过校验请求向服务端发送加密后的密文。
在本申请实施例一种可能的实现方式中,上述加解密单元,用于:
随机生成对称密钥;
利用预设的公钥将程序版本号及对称密钥进行加密,以获取加密后的密文。
在本申请实施例一种可能的实现方式中,上述加解密单元,用于:
利用对称密钥对服务端返回的数据进行解密,以获取随机数。
在本申请实施例一种可能的实现方式中,上述加解密单元,用于:
在服务端返回的数据中包含第一时间戳的情况下,利用预设的公钥将第一时间戳与第二校验码进行加密,以生成加密后的校验数据;
上述发送单元,用于向服务端返回加密后的校验数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请中,在向服务端发送包括客户端对应的程序版本号的校验请求后,接收服务端返回的随机数,并根据随机数及客户端侧的安装包文件,生成第二校验码,之后,向服务端返回第二校验码,并接收服务端返回的校验结果。使得第二校验码中包含了生成客户端的安装包中的文件信息的同时,提高了生成第二校验码的随机性,从而提高了校验的可靠性与准确性。
图10是根据一示例性实施例示出的一种校验的终端设备的框图。
如图10所示,该终端设备1000包括:
存储器1010及处理器1020,连接不同组件(包括存储器1010和处理器1020)的总线1030,存储器1010存储有计算机程序,当处理器1020执行程序时实现本申请实施例的校验方法。
总线1030表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端设备1000典型地包括多种电子设备可读介质。这些介质可以是任何能够被终端设备1000访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器1010还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1040和/或高速缓存存储器1050。终端设备1000可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1060可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1030相连。存储器1010可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块1070的程序/实用工具1080,可以存储在例如存储器1010中,这样的程序模块1070包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1070通常执行本申请所描述的实施例中的功能和/或方法。
终端设备1000也可以与一个或多个外部设备1090(例如键盘、指向设备、显示器1091等)通信,还可与一个或者多个使得用户能与该终端设备1000交互的设备通信,和/或与使得该终端设备1000能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1092进行。并且,终端设备1000还可以通过网络适配器1093与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1093通过总线1030与终端设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合终端设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器1020通过运行存储在存储器1010中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的终端设备的实施过程和技术原理参见前述对本申请实施例的校验方法的解释说明,此处不再赘述。
本申请中,在接收客户端发送的包括客户端对应的程序版本号的校验请求后,根据程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,并将随机数发送给客户端,之后,在接收客户端返回的第二校验码后,根据第二校验码与第一校验码的匹配度,向客户端返回校验结果。使得第一校验码中包含了服务端中程序版本号对应的安装包中的文件信息的同时,提高了生成第一校验码的随机性。从而根据第二校验码与第一校验码的匹配度,向客户端返回校验结果,提高了校验的可靠性与准确性。
在示例性实施例中,本申请还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由终端设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
为了实现上述实施例,本申请还提供一种计算机程序产品,该计算机程序由终端设备的处理器执行时,使得终端设备能够执行如前的校验方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (23)
1.一种校验方法,其特征在于,由服务端执行,所述方法包括:
接收客户端发送的校验请求,其中,所述校验请求中包括所述客户端对应的程序版本号;
根据所述程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码;
将所述随机数发送给所述客户端;
接收所述客户端返回的第二校验码;
根据所述第二校验码与所述第一校验码的匹配度,向所述客户端返回校验结果。
2.如权利要求1所述的方法,其特征在于,所述根据所述程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码,包括:
根据所述程序版本号关联的安装包中包含的文件数量,确定最大值;
将在预设的最小值及所述最大值之间随机抽取的数值,确定为所述随机数;
将所述安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列;
将所述第一文件序列中排序位置编号与所述随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列;
基于预设的运算规则,对所述第二文件序列中各个文件对应的字节流进行运算,以生成所述第一校验码。
3.如权利要求2所述的方法,其特征在于,在所述将所述安装包中包含的文件按照预设规则进行排序之前,还包括:
根据以下信息中的至少一项,确定所述预设规则:
所述客户端所在的设备的类型,所述安装包所属的应用的类型。
4.如权利要求2所述的方法,其特征在于,在所述基于预设的运算规则,对所述第二文件序列中各个文件对应的字节流进行运算之前,还包括:
随机生成所述预设的运算规则。
5.如权利要求4所述的方法,其特征在于,还包括:
将所述预设的运算规则发送给所述客户端。
6.如权利要求1-5任一所述的方法,其特征在于,在所述接收客户端发送的校验请求之后,还包括:
利用预设的私钥对所述校验请求进行解密,以获取所述校验请求中包含的程序版本号。
7.如权利要求6所述的方法,其特征在于,所述将所述随机数发送给所述客户端,包括:
通过所述预设的私钥对所述随机数及当前的第一时间戳进行签名,以获取签名后的数据;
在所述校验请求中包括对称密钥的情况下,利用所述对称密钥对所述签名后的数据进行加密,以获取加密后的随机数;
将所述加密后的随机数发送给所述客户端。
8.如权利要求7所述的方法,其特征在于,在所述接收所述客户端返回的第二校验码之后,还包括:
获取所述客户端返回的第二时间戳;
在所述第二时间戳与所述第一时间戳匹配的情况下,将所述第一校验码与所述第二校验码进行匹配。
9.如权利要求1-5任一所述的方法,其特征在于,所述根据所述第二校验码与所述第一校验码的匹配度,向所述客户端返回校验结果,包括:
在所述第二校验码与所述第一校验码匹配的情况下,向所述客户端返回安装包未被篡改的校验结果;或者,
在所述第二校验码与所述第一校验码未匹配的情况下,向所述客户端返回安装包被篡改的校验结果。
10.一种校验方法,其特征在于,由客户端执行,所述方法包括:
向服务端发送校验请求,其中,所述校验请求中包括所述客户端对应的程序版本号;
接收所述服务端返回的随机数;
根据所述随机数及所述客户端侧的安装包文件,生成第二校验码;
向所述服务端返回所述第二校验码;
接收所述服务端返回的校验结果。
11.如权利要求10所述的方法,其特征在于,所述根据所述随机数及所述客户端侧的安装包文件,生成第二校验码,包括:
将所述安装包中包含的文件按照预设规则进行排序,以获取排序后的第一文件序列;
将所述第一文件序列中排序位置编号与所述随机数匹配的第一文件设置为首文件,以获取更新后的第二文件序列;
基于预设的运算规则,对所述第二文件序列中各个文件对应的字节流进行运算,以生成所述第二校验码。
12.如权利要求11所述的方法,其特征在于,在所述将所述安装包中包含的文件按照预设规则进行排序之前,还包括:
根据以下信息中的至少一项,确定所述预设规则:
所述客户端所在的设备的类型,所述安装包所属的应用的类型。
13.如权利要求11所述的方法,其特征在于,在所述基于预设的运算规则,对所述第二文件序列中各个文件对应的字节流进行运算之前,还包括:
接收所述服务端发送的所述预设的运算规则。
14.如权利要求10所述的方法,其特征在于,所述向服务端发送校验请求,包括:
在启动完成后向所述服务端发送校验请求;或者,
在执行预设类型的服务之前,向所述服务端发送校验请求。
15.如权利要求10-14任一所述的方法,其特征在于,所述向服务端发送校验请求,包括:
利用预设的公钥将所述程序版本号进行加密,以获取加密后的密文;
通过所述校验请求向所述服务端发送所述加密后的密文。
16.如权利要求15所述的方法,其特征在于,所述利用预设的公钥将所述程序版本号进行加密,以获取加密后的密文,包括:
随机生成对称密钥;
利用所述预设的公钥将所述程序版本号及所述对称密钥进行加密,以获取加密后的密文。
17.如权利要求16所述的方法,其特征在于,所述接收所述服务端返回的随机数,包括:
利用所述对称密钥对所述服务端返回的数据进行解密,以获取所述随机数。
18.如权利要求17所述的方法,其特征在,所述向所述服务端返回所述第二校验码,包括:
在所述服务端返回的数据中包含第一时间戳的情况下,利用所述预设的公钥将所述第一时间戳与所述第二校验码进行加密,以生成加密后的校验数据;
向所述服务端返回所述加密后的校验数据。
19.一种校验装置,其特征在于,包括:
接收模块,用于接收客户端发送的校验请求,其中,所述校验请求中包括所述客户端对应的程序版本号;
生成模块,用于根据所述程序版本号关联的安装包中包含的文件数量,生成随机数及第一校验码;
发送模块,用于将所述随机数发送给所述客户端;
所述接收模块,用于接收所述客户端返回的第二校验码;
所述发送模块,用于根据所述第二校验码与所述第一校验码的匹配度,向所述客户端返回校验结果。
20.一种校验装置,其特征在于,还包括:
发送模块,用于向服务端发送校验请求,其中,所述校验请求中包括所述客户端对应的程序版本号;
接收模块,用于接收所述服务端返回的随机数;
生成模块,用于根据所述随机数及所述客户端侧的安装包文件,生成第二校验码;
所述发送模块,用于向所述服务端返回所述第二校验码;
所述接收模块,用于接收所述服务端返回的校验结果。
21.一种终端设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-9中任一项所述的校验方法,或者实现如权利要求10-18中任一项所述的校验方法。
22.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如权利要求1-9中任一项所述的校验方法,或者能够执行如权利要求10-18中任一项所述的校验方法。
23.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的校验方法,或者实现权利要求10-18任一项所述的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310286795.6A CN116361833A (zh) | 2023-03-22 | 2023-03-22 | 校验方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310286795.6A CN116361833A (zh) | 2023-03-22 | 2023-03-22 | 校验方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361833A true CN116361833A (zh) | 2023-06-30 |
Family
ID=86941230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310286795.6A Pending CN116361833A (zh) | 2023-03-22 | 2023-03-22 | 校验方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361833A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117278340A (zh) * | 2023-11-23 | 2023-12-22 | 瑞纳智能设备股份有限公司 | 实现低功耗阀固件升级的方法及存储介质、电子设备 |
-
2023
- 2023-03-22 CN CN202310286795.6A patent/CN116361833A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117278340A (zh) * | 2023-11-23 | 2023-12-22 | 瑞纳智能设备股份有限公司 | 实现低功耗阀固件升级的方法及存储介质、电子设备 |
CN117278340B (zh) * | 2023-11-23 | 2024-02-13 | 瑞纳智能设备股份有限公司 | 实现低功耗阀固件升级的方法及存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965230B (zh) | 一种安全通信方法、系统及终端设备 | |
CN112929172A (zh) | 基于密钥库动态加密数据的系统、方法及装置 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN113259133B (zh) | 基于http协议的加密通讯方法、设备及存储介质 | |
CN109194625B (zh) | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 | |
CN108075888B (zh) | 动态url生成方法及装置、存储介质、电子设备 | |
CN110414190B (zh) | 应用安装包的签名方法、相关装置、存储介质及电子设备 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
EP1227613A2 (en) | Method and apparatus for attaching electronic signature to document having structure | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
CN113872770A (zh) | 一种安全性验证方法、系统、电子设备及存储介质 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN115150821A (zh) | 离线包的传输、存储方法及装置 | |
CN116361833A (zh) | 校验方法、装置及终端设备 | |
CN114553532A (zh) | 数据安全传输方法、装置、电子设备及存储介质 | |
CN113946862A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN110753257A (zh) | 数据显示方法、显示终端、服务器、显示系统和存储介质 | |
CN104901951A (zh) | 一种Web应用中基于移动终端的密码数据处理与交互方法 | |
CN110601836B (zh) | 密钥获取方法、装置、服务器和介质 | |
CN109450643B (zh) | Android平台上基于native服务实现的签名验签方法 | |
CN107918739B (zh) | 一种数据的保护方法、装置及存储介质 | |
CN113872769B (zh) | 基于puf的设备认证方法、装置、计算机设备及存储介质 | |
CN113158218B (zh) | 数据加密方法、装置及数据解密方法、装置 | |
CN115567271A (zh) | 鉴权方法和装置、页面跳转方法和装置、电子设备及介质 | |
CN115567297A (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 |