盖章文件的验证方法、装置、计算机设备和存储介质
技术领域
本发明涉及防伪技术领域,特别是涉及盖章文件的验证方法、装置、计算机设备和存储介质。
背景技术
通过电子印章在电子文件上盖章,可以在很大程度上保证电子文件的可靠性。同时,电子印章由第三方权威机构经身份验证后才能颁发,具有安全、保密、防篡改等特征,可对盖过章的电子文件等进行有效的保护。在实现本发明过程中,发明人发现现有技术中至少存在如下问题:电子印章也存在一定的缺陷。例如:电子印章依然存在易被复制的问题。另外,验证电子印章是否合法往往需依赖其管理平台,这就容易出现管理平台暗箱操作导致假电子印章合法化的情况。也会出现非法盖章文件合法化的问题,仍旧无法有效地验证盖章文件的真伪。
发明内容
基于此,本发明提供了盖章文件的验证方法、装置、计算机设备和存储介质,能有效地对盖章文件的真伪进行验证,达到较好的防伪效果。
本发明实施例的内容如下:
一种盖章文件的验证方法,包括以下步骤:获取待验证盖章文件的待验证印章特征值和待验证文件特征值;当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
在其中一个实施例中,所述当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤之前,还包括:获取候选盖章文件的候选文件特征值,将候选文件特征值按照区块链的规则进行记录,得到建立好的区块链。
在其中一个实施例中,所述将经过加密的候选文件特征值按照区块链的规则进行记录的步骤,包括:获取候选印章特征值,通过预设的加密算法确定所述候选印章特征值对应的候选公私钥;通过候选私钥对所述候选文件特征值进行加密;按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
在其中一个实施例中,所述印章特征值包括印章散列值,所述文件特征值包括文件散列值。
在其中一个实施例中,判定所述待验证印章特征值合法的步骤,包括:当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
在其中一个实施例中,所述从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤,包括:根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
在其中一个实施例中,所述当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法的步骤,包括:通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
相应的,本发明实施例提供一种盖章文件的验证装置,包括:特征值获取模块,用于获取待验证盖章文件的待验证印章特征值和待验证文件特征值;特征值获取模块,用于当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;以及,验证模块,用于当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
上述盖章文件的验证方法及装置,判断待验证印章特征值是否合法,当判定待验证印章特征值合法时,从预先建立的区块链中获取与该待验证印章特征值对应的候选文件特征值,并判断候选文件特征值与待验证文件特征值是否相匹配,进而确定待验证盖章文件是否合法。将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,有效地验证盖章文件在传播过程是否被修改,能达到较好的防伪效果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待验证盖章文件的待验证印章特征值和待验证文件特征值;当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
上述计算机设备,将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,有效地验证盖章文件在传播过程是否被修改,能达到较好的防伪效果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待验证盖章文件的待验证印章特征值和待验证文件特征值;当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
上述计算机可读存储介质,将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,有效地验证盖章文件在传播过程是否被修改,能达到较好的防伪效果。
附图说明
图1为一个实施例中盖章文件的验证方法的应用环境图;
图2为一个实施例中盖章文件的验证方法的流程示意图;
图3为一个实施例中公钥-印章区块链所记录信息的示意图;
图4为一个实施例中印章-文件区块链所记录信息的示意图;
图5为另一个实施例中盖章文件的验证方法的流程示意图;
图6为一个实施例中盖章文件的验证装置的结构框图;
图7为一个实施例中计算机设备的内部结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请提供的盖章文件的验证方法可以应用于如图1所示的应用场景中。该应用场景中包括验证平台101、文件发布设备102、文件接收设备103。文件发布设备102为盖章文件生成相应的候选信息,并将这些候选信息按照区块链的规则存储于区块链中。文件接收设备103在需要对待验证盖章文件进行校验时,从盖章文件中提取待验证信息,并将待验证信息发送给验证平台101进行验证。验证平台101从区块链中获取候选信息并根据该候选信息对待验证信息进行校验。其中,验证平台101提供有校验接口,供文件发布设备102和文件接收设备103调用。
另一方面,验证平台101、文件发布设备102、文件接收设备103均可以为一个或多个,也均可以通过终端或服务器实现。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本发明实施例提供一种盖章文件的验证方法、装置、计算机设备和存储介质。以下分别进行详细说明。
在一个实施例中,如图2所示,提供了一种盖章文件的验证方法。以该方法应用于图1中的验证平台端为例进行说明,包括以下步骤:
S201、获取待验证盖章文件的待验证印章特征值和待验证文件特征值。
其中,盖章文件指的是加印有印章的文件,该文件可以是纸质文件也可以是电子文件,该印章可以是实体印章也可以是电子印章。可以根据一定的算法生成印章的印章特征值,并根据相同或不同的算法为加印有该印章的文件生成文件特征值。盖章文件上包含有印章和文件信息,因此可以从待验证的盖章文件中获取到对应的待验证印章特征值和待验证文件特征值。
特征值可以指散列值、序列值、编号等。该特征值是对应的印章或者文件所特有的,例如:通过印章特征值能将某一印章与其他的印章区别开来。另一方面,特征值可以具有对象类型等信息,例如,通过读取印章特征值,用户能知道该特征值是某一个印章的特征值,而不会将其认为是某一文件的特征值。
进一步地,印章特征值和文件特征值是相对应的。当某一个文件上只加印有一个印章时,则该文件的文件特征值对应有唯一的印章特征值;当一个文件上加印有不止一个印章时,则该文件的文件特征值可以对应有多个印章特征值。当然,一个印章可以在多个文件上盖章,基于此一个印章特征值也可以对应有多个文件特征值。
S202、当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值。
在本步骤中,先对待验证印章特征值进行验证,当待验证特征值合法时,从存储有多个候选文件特征值的区块链中获取对应的候选文件特征值。其中,对待验证印章特征值进行验证的过程可以认为是对印章进行校验的过程。
步骤S202中涉及到区块链的内容,以下对区块链进行说明:
区块链是一种去中心化的分布式数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个与前一区块连接起来的时间戳,这种设计使得区块链中的数据不可篡改,即在一个区块中的数据一旦记录下来就是不可逆的。同时,每一个区块链节点都保存完整的分布式账户副本,结合共识机制、加密算法等技术实现了数据不可篡改、不可伪造、高可用性、可追溯等特征,从而间接通过计算机解决了人与人之间的信任问题。
对于区块链的去中心化:区块链的数据并非集中存在于单一节点上,而是存在大量的共识节点,各个节点都会保存一份完整的交易数据,通过共识算法,各个节点都会同步交易数据,从而实现去中心化。
对于区块链的不可篡改性:由于区块链存在众多节点,各个节点都会保存一份完整的交易数据。所以如果想篡改其中的数据,按照算法规定,需要修改其中51%节点的数据才能实现数据篡改。另外,区块链中的数据是以链状结构保存的,最新的区块需要保存上一个区块的hash值。这就意味着如果想修改其中一个区块,需要一直溯源到初始区块才能实现修改。在如此多的限制条件下,可以认为区块链的数据是不可篡改的。
本步骤中的区块链存储有多个候选印章特征值对应的候选文件特征值。其中每一个候选印章特征值可以对应多个候选文件特征值。
进一步地,从区块链中获取与待验证印章特征值对应的候选文件特征值的过程,可以理解为获取经过待验证印章特征值对应印章加印的文件的候选文件特征值。可以是从中获取所有或部分对应印章加印的文件的候选文件特征值。
S203、当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
在本步骤中,若候选文件特征值为一个,则在判定该候选文件特征值与待验证文件特征值相匹配时,认为待验证盖章文件是合法的;若候选文件特征值为两个或者多个,则可以在确定这些候选文件特征值中存在与该待验证文件特征值相匹配的文件特征值时,认为待验证盖章文件是合法的。
其中,相匹配可以指相比较的对象完全一致,或者存在一定的对应关系。
本实施例将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,能有效验证盖章文件在传播过程是否被修改,达到较好的防伪效果。
在一个实施例中,所述当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤之前,还包括:获取候选盖章文件的候选文件特征值,将候选文件特征值按照区块链的规则进行记录,得到建立好的区块链。
其中,将经过加密的候选文件特征值按照区块链的规则进行记录的实现过程可以是:获取上一区块的hash值,根据该hash值确定经过加密的候选文件特征值(当前hash值);将当前hash值记录在当前区块中。多个候选文件特征值对应的区块连接在一起即构成建立好的区块链。
本实施例,将经过加密的候选文件特征值记录在区块链中,利用了区块链的不可篡改性,能保证所记录的文件特征值一直不变。确保后续利用候选文件特征值对待验证文件特征值进行验证时的可靠性,达到更好的防伪效果。
在一个实施例中,所述将经过加密的候选文件特征值按照区块链的规则进行记录的步骤,包括:获取候选印章特征值,通过预设的加密算法确定所述候选印章特征值对应的候选公私钥;通过候选私钥对所述候选文件特征值进行加密;按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
本实施例,对候选印章特征值运行预设的加密算法得到候选公钥(pub_1)和候选私钥(pir_1),通过候选私钥pir_1对候选文件特征值进行加密,将加密以后的文件特征值、候选公钥以及候选印章特征值记录在区块链中,使得这些记录在区块链中的数据不可篡改。
在一个实施例中,预设的加密算法可以指RSA256算法、DSA算法、EIGamal算法等。本发明实施例对具体的加密算法不做限制,能生成公私钥即可。
在一个实施例中,候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值可以分开记录,即可以通过某一区块记录候选公钥和候选印章特征值,通过另一个区块记录候选印章特征值和经过候选私钥加密的候选文件特征值。因此,可以分别形成公钥-印章区块链以及印章-文件区块链。公钥-印章区块链中的某一区块所记录的部分信息如图3所示,该区块中记录有候选印章散列值、候选公钥、数据类型以及电子印章拥有者的个人信息。印章-文件区块链中的某一区块所记录的部分信息如图4所示,该区块中记录有经过候选私钥加密的文件散列值、候选印章散列值以及数据类型。
在一个实施例中,所述印章特征值包括印章散列值,所述文件特征值包括文件散列值。
本实施例限定了特征值为散列值(hash值),每一个印章对应有独一无二的印章散列值,每一个文件对应有独一无二的文件散列值,能有效地对印章和文件进行区分。
在一个实施例中,以某一文件发布者将电子印章A加印到文件B中为例,散列值的生成过程可以为:确定上一次使用电子印章A进行文件加印时的上一印章散列值,根据该上一印章散列值生成当前印章散列值;通过电子印章A在文件B上进行加印以后,获取文件B的上一文件散列值,根据该上一文件散列值生成当前文件散列值;将当前印章散列值和当前文件散列值按照一定的规则记录在对应的当前区块中。
在一个实施例中,生成散列值可以通过运行摘要算法的方式实现,该摘要算法可以指MD5算法、散列算法等。
在一个实施例中,将候选印章散列值、候选文件散列值等保存在区块链中的实现过程可以为:由权威机构经过对申请人的身份验证后颁发电子印章。在获得电子印章后,文件发布者根据RSA256算法生成此电子印章的候选公私钥(候选公钥pub_1以及候选私钥pri_1)。文件发布者保存候选私钥,候选公钥可对外公开。文件发布者根据MD5算法生成电子印章的候选印章散列值(sealHash_1),将sealHash_1与pub_1绑定于区块链中,使得只有通过sealHash_1才能在区块链中搜索到对应的公钥,为后续验证做准备。获取已加印电子印章的盖章文件的候选文件散列值(fileHash_1),使用候选私钥pri_1对fileHash_1进行加密获得经过加密的候选文件散列值(pri_fileHash_1),将经过加密的候选文件散列值与sealHash_1一起绑定于区块链中。
在一个实施例中,判定所述待验证印章特征值合法的步骤,包括:当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
由于发布者在通过合法的印章得到盖章文件并完成盖章文件的加密过程后,会将对应的候选印章散列值、加密候选文件散列值以及候选公钥以键值对的形式存储在区块链中。因此,若能根据候选印章散列值从区块链中获取到对应的候选公钥,说明发布者通过该候选公钥对应的候选私钥加密过盖章文件的文件特征值。基于此,若根据待验证印章特征值能从区块链中找到对应的候选公钥,则可以认为该待验证印章特征值是合法的,即对应的印章合法,完成印章的验证过程。
在一个实施例中,电子印章的校验过程可以为:文件接收者接收到一份盖章文件并想到对该盖章文件进行校验时。将待验证盖章文件上传至验证平台。验证平台从待验证盖章文件中分离出电子印章,从而获得电子印章的待验证印章散列值(sealHash_2)和文件的待验证文件散列值(fileHash_2)。在区块链中搜索与sealHash_2对应的pub_3,如果搜索结果为空,说明此电子印章不存在于此区块链中,判断为伪造电子印章。如果能搜索出与sealHash_2对应的pub_3,说明此电子印章存在于此区块链中,为合法电子印章,但还需进一步验证文件的真伪。
在一个实施例中,若待验证盖章文件上加印有不止一个印章时,可以分别对这些印章的待验证印章特征值进行验证,当其中的全部或者部分验证通过时,认为待验证盖章文件的印章验证完成。
在一个实施例中,所述从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤,包括:根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
本实施例确定被sealHash_2对应印章加印的所有文件的候选文件散列值,即在确定sealHash_2对应的候选公钥pub_3以后,在区块链中搜索经对应的候选私钥pri_3加密的文件散列值(pri_fileHash_3)。若这些pri_fileHash_3经过解密以后存在与待验证文件散列值相匹配的文件散列值时,则可以认为待验证文件散列值合法。
在一个实施例中,可以从区块链中搜索出所有与待验证印章特征值对应的候选文件散列值,也可以搜索其中部分的候选文件散列值。
在一个实施例中,所述当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法的步骤,包括:通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
本实施例使用从区块链中搜索到的候选公钥pub_3对所有的pri_fileHash_3解密,并判断所有解密结果与待验证文件散列值fileHash_2是否匹配。如果存在与待验证文件散列值fileHash_2相同的解密结果,说明此盖章文件由电子印章拥有者发布且文件没有被修改过。否则说明此文件并非对应的电子印章拥有者发布或文件内容被修改过。整个验证过程简单,但能有效防止文件被非法篡改以及非法印章合法化的情况,实现较好的防伪效果。
在一个实施例中,如图5所示,提供一种盖章文件的验证方法,包括以下步骤:
S501、获取候选盖章文件的候选文件散列值以及候选印章散列值,通过预设的加密算法确定所述候选印章散列值对应的候选公私钥。
S502、通过候选私钥对所述候选文件散列值进行加密;按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
S503、获取待验证盖章文件的待验证印章散列值和待验证文件散列值;当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
S504、根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
S505、通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
本实施例,将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,有效地验证盖章文件在传播过程是否被修改,能达到较好的防伪效果。同时,与加密算法结合,从而实现了良好的防伪效果。
为了更好地理解上述方法,以下详细阐述一个本发明盖章文件的验证方法的应用实例。
对盖章文件进行加密:
1、在获得电子印章后,对电子印章的候选印章散列值sealHash_1运行RSA256算法生成此电子印章的候选公私钥。将候选印章散列值sealHash_1和候选公钥pub_1按照键值对的方式存储于区块链中,候选私钥pri_1文件发布者自己保存。
2、确定某一盖章文件的候选文件散列值,通过候选私钥pri_1对该候选文件散列值进行加密;将经过候选私钥加密的候选文件散列值pri_fileHash_1和候选印章散列值sealHash_1以键值对方式存储在区块链中。此时文件的加密措施已完成,文件发布者可发布文件给其他用户。
对盖章文件进行验证:
3、文件接收者想验证某一待验证盖章文件的真伪时,可将待验证盖章文件上传至验证平台,验证平台将分离出文件的电子印章,从而获得电子印章的待验证印章散列值sealHash_2和文件的待验证文件散列值pri_fileHash_2。
4、验证平台通过sealHash_2从区块链中搜索对应的候选公钥;如果搜索结果为空,则电子印章校验不通过,如果能搜索到对应的候选公钥pub_3,则电子印章校验通过。
5、根据候选公钥pub_3从区块链中搜索对应的所有候选文件散列值pri_fileHash_3,得到pri_fileHash_3集合。候选文件散列值pri_fileHash_3对应的文件加印有与候选公钥pub_3对应的电子印章。
6、通过候选公钥pub_3分别对待验证文件散列值pri_fileHash_2和候选文件散列值pri_fileHash_3集合中的候选文件散列值进行解密;当解密后的候选文件散列值集合中存在与解密后的待验证文件散列值相匹配的候选文件散列值时,判定所述待验证盖章文件合法。
本实施例将加密算法、电子印章和区块链相互结合。利用加密算法达到信息不可破解的目的,利用电子印章的特性实现校验功能,利用区块链技术实现信息不可篡改的效果,从而有效地验证盖章文件的合法性,达到良好的防伪效果。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的盖章文件的验证方法相同的思想,本发明还提供盖章文件的验证装置,该装置可用于执行上述盖章文件的验证方法。为了便于说明,盖章文件的验证装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所述,盖章文件的验证装置包括信息获取模块601、特征值获取模块602和验证模块603,详细说明如下:
信息获取模块601,用于获取待验证盖章文件的待验证印章特征值和待验证文件特征值。
特征值获取模块602,用于当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值。
以及,验证模块603,用于当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
本实施例,将盖章文件的验证与区块链相结合,利用了区块链的去中心化与不可篡改性,有效地验证盖章文件在传播过程是否被修改,能达到较好的防伪效果。
在一个实施例中,还包括:信息记录模块,用于获取候选盖章文件的候选文件特征值,将候选文件特征值按照区块链的规则进行记录,得到建立好的区块链。
在一个实施例中,信息记录模块,包括:公私钥获取子模块,用于获取候选印章特征值,通过预设的加密算法确定所述候选印章特征值对应的候选公私钥;加密子模块,用于通过候选私钥对所述候选文件特征值进行加密;信息记录子模块,用于按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
在一个实施例中,所述印章特征值包括印章散列值,所述文件特征值包括文件散列值。
在一个实施例中,特征值获取模块602,还用于当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
在一个实施例中,特征值获取模块602,还用于根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
在一个实施例中,验证模块603,包括:解密子模块,用于通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;验证子模块,用于当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
需要说明的是,本发明的盖章文件的验证装置与本发明的盖章文件的验证方法一一对应,在上述盖章文件的验证方法的实施例阐述的技术特征及其有益效果均适用于盖章文件的验证装置的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述示例的盖章文件的验证装置的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述盖章文件的验证装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链数据,该区块链的区块中可以存储候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值等信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种盖章文件的验证方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待验证盖章文件的待验证印章特征值和待验证文件特征值;当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤之前,还包括:获取候选盖章文件的候选文件特征值,将候选文件特征值按照区块链的规则进行记录,得到建立好的区块链。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述将经过加密的候选文件特征值按照区块链的规则进行记录的步骤,包括:获取候选印章特征值,通过预设的加密算法确定所述候选印章特征值对应的候选公私钥;通过候选私钥对所述候选文件特征值进行加密;按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判定所述待验证印章特征值合法的步骤,包括:当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤,包括:根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法的步骤,包括:通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待验证盖章文件的待验证印章特征值和待验证文件特征值;当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值;当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述当判定所述待验证印章特征值合法时,从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤之前,还包括:获取候选盖章文件的候选文件特征值,将候选文件特征值按照区块链的规则进行记录,得到建立好的区块链。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述将经过加密的候选文件特征值按照区块链的规则进行记录的步骤,包括:获取候选印章特征值,通过预设的加密算法确定所述候选印章特征值对应的候选公私钥;通过候选私钥对所述候选文件特征值进行加密;按照区块链的规则,将候选公钥、候选印章特征值以及经过候选私钥加密的候选文件特征值以键值对的形式记录在区块链中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判定所述待验证印章特征值合法的步骤,包括:当所述区块链中存在与所述待验证印章散列值对应的候选公钥时,判定所述待验证印章散列值合法。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述从预先建立的区块链中获取与所述待验证印章特征值对应的候选文件特征值的步骤,包括:根据所述候选公钥,从所述区块链中搜索经过对应候选私钥加密的候选文件散列值,得到与所述待验证印章特征值对应的候选文件特征值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述当确定所述候选文件特征值与所述待验证文件特征值相匹配时,判定所述待验证盖章文件合法的步骤,包括:通过所述候选公钥分别对待验证文件散列值和所述候选文件散列值进行解密;当解密后的候选文件散列值与解密后的待验证文件散列值相匹配时,判定所述待验证盖章文件合法。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,不能理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。