校验数据的方法、装置、设备和计算机可读介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种校验数据的方法、装置、设备和计算机可读介质。
背景技术
区块链是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明和集体维护等特征。基于上述特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作机制。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:采用区块链校验数据的过程中,数据泄露的风险较大。
发明内容
有鉴于此,本发明实施例提供一种校验数据的方法、装置、设备和计算机可读介质,在采用区块链校验数据的过程中,能够减少数据泄露的风险。
为实现上述目的,根据本发明实施例的一个方面,提供了一种校验数据的方法,包括:
根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,所述存证数据包括原始文件的密文、原始文件的解密文件和所述原始文件的哈希;
按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到待验证文件的哈希;
所述待验证文件的哈希与所述原始文件的哈希一致,根据所述存证数据的哈希和区块链中所述存证数据的哈希,校验所述存证数据。
所述原始文件的密文、所述原始文件的解密文件和所述原始文件的哈希是按照预设上链数据模板设置的。
所述方法还包括:
所述存证数据存储至所述区块链存证平台后,所述区块链存证平台基于所述存证数据确定所述区块链交易标识;
所述区块链存证平台向所述用户反馈所述区块链交易标识。
所述存证数据存储至所述区块链存证平台后,所述区块链存证平台基于所述存证数据确定所述区块链交易标识,包括:
所述区块链存证平台依据用户发送的原始文件,建立并存储所述存证数据;
所述区块链存证平台校验所述存证数据与所述存证数据的哈希匹配,则将所述存证数据的哈希上链,并基于所述存证数据确定所述区块链交易标识。
所述根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,包括:
检验所述区块链交易标识有效;
根据所述区块链交易标识,从区块链存证平台获取存证数据,并显示用户的存证信息以接收所述用户的秘钥。
所述按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到待验证文件的哈希,包括:
按照预设上链数据模板在所述存证数据中,获取所述原始文件的解密文件和所述原始文件的密文;
按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到所述待验证文件;
基于所述待验证文件得到所述待验证文件的哈希。
所述待验证文件的哈希与所述原始文件的哈希一致,根据所述存证数据的哈希和区块链中存证数据的哈希,校验所述存证数据,包括:
所述待验证文件的哈希与所述原始文件的哈希一致,则在区块链中获取所述存证数据的哈希;
比较所述存证数据的哈希和区块链中存证数据的哈希,校验所述存证数据。
在所述预设上链数据模板中,所述原始文件的密文、所述原始文件的解密文件和所述原始文件的哈希之间以标识区分。
所述方法还包括:
所述区块链存证平台校验所述存证数据与所述存证数据的哈希不匹配,则验证失败。
所述检验所述区块链交易标识有效,包括:
依据区块链交易标识查询公证标识,查询到公证标识,则区块链交易标识有效。
所述方法还包括:
所述待验证文件的哈希与所述原始文件的哈希不同,则所述存证数据被修改。
根据本发明实施例的第二方面,提供了一种校验数据的装置,包括:
获取模块,用于根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,所述存证数据包括原始文件的密文、原始文件的解密文件和所述原始文件的哈希;
解析模块,用于按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到待验证文件的哈希;
校验模块,用于所述待验证文件的哈希与所述原始文件的哈希一致,根据所述存证数据的哈希和区块链中所述存证数据的哈希,校验所述存证数据。
所述原始文件的密文、所述原始文件的解密文件和所述原始文件的哈希是按照预设上链数据模板设置的。
根据本发明实施例的第三方面,提供了一种校验数据的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,存证数据包括原始文件的密文、原始文件的解密文件和原始文件夹的哈希;按照用户的秘钥和解密文件,解析原始文件的密文,得到待验证文件的哈希;待验证文件的哈希与原始文件的哈希一致,根据存证数据的哈希和区块链中存证数据的哈希,校验存证数据。在区块链校验数据的过程中,仅需要将存证数据的哈希上链,即使存证数据的哈希被盗取,也不会泄露原始文件,因此能够减少数据泄露的风险。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的校验数据的方法的主要流程的示意图;
图2是根据本发明实施例的校验数据的应用场景示意图;
图3是根据本发明实施例的上链数据模板的示意图;
图4是根据本发明实施例的区块链存证平台反馈区块链交易标识的流程示意图;
图5是根据本发明实施例的确定区块链交易标识的流程示意图;
图6是根据本发明实施例的从区块链存证平台获取存证数据的流程示意图;
图7是根据本发明实施例的解析原始文件的密文的流程示意图;
图8是根据本发明实施例的比较哈希的流程示意图;
图9是根据本发明实施例的校验数据的交互示意图;
图10是根据本发明实施例的数据上链的交互示意图;
图11是根据本发明实施例的校验数据的装置的主要结构的示意图;
图12是本发明实施例可以应用于其中的示例性系统架构图;
图13是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,在区块链校验数据的过程中,用户可以利用公证平台校验数据。具体来说,用户在公证平台上传原始文件,依据原始文件的哈希,校验原始文件的真实性。根据原始文件的哈希校验原始文件成功,则出具公证书;根据原始文件的哈希校验原始文件失败,则不能出具公证书。
原始文件需要妥善保存,如丢失就无法参与诉讼。在多处备份原始文件依然存在数据泄露的风险。如:保存原始文件的情况下,原始文件可能有意、无意或被黑客攻击被修改。
因此,在区块链校验数据的过程中,数据泄露的风险较大。
为了解决在区块链校验数据的过程中,数据泄露的风险较大的技术问题,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的校验数据的方法主要流程的示意图,从区块链存证平台获取存证数据,解析原始文件的密文,通过比较存证数据的哈希和区块链中存证数据的哈希,校验存证数据。如图1所示,具体包括以下步骤:
S101、根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,存证数据包括原始文件的密文、原始文件的解密文件和原始文件的哈希。
在本发明实施例中,可以以公证平台作为各步骤的执行主体。其中,公证平台接收用户发送的区块链交易标识,并从区块链存证平台获取存证数据。需要说明的是,存证数据包括原始文件的哈希、原始文件的密文和原始文件的解密文件。
参见图2,图2是根据本发明实施例的校验数据的应用场景示意图。其中,用户可以向区块链存证平台上传原始文件,也可以向公证平台发送秘钥。区块链存证平台将存证数据的哈希上链。公证平台用于校验数据。
在本发明实施例中,可以预先设置上链数据模板,这样原始文件的哈希、原始文件的密文和原始文件的解密文件可以按照预设上链数据模板设置。依据预设上链数据模板设置数据,以便于根据预设上链数据模板获取相关数据。
参见图3,图3是根据本发明实施例的上链数据模板的示意图。其中,上链数据模板包括三部分。第一部分:原始文件的哈希;第二部分:原始文件的密文;第三部分:原始文件的解密文件。
其中,每部分之间可以以标识区分。作为一个示例,第一部分位于第一标识和第二标识之间;第二部分位于第二标识和第三标识之间;第三部分位于第三标识和第四标识之间。每部分中内容可以预先设置,图3仅是一个示例。也就是说,可以按照以下方式设置:第一部分:原始文件的密文;第二部分:原始文件的哈希;第三部分:原始文件的解密文件。
在本发明实施例中,包括原始文件的哈希、原始文件的密文和原始文件的解密文件的存证数据是在区块链存证平台生成的。
参见图4,图4是根据本发明实施例的区块链存证平台反馈区块链交易标识的流程示意图,具体包括:
S401、存证数据存储至区块链存证平台后,区块链存证平台基于存证数据确定区块链交易标识。
在本发明实施例中,在区块链存证平台存储有存证数据。其中,用户上传原始文件至区块链存证平台,然后在区块链存证平台生成并存储存证数据。
参见图5,图5是根据本发明实施例的确定区块链交易标识的流程示意图,具体包括:
S501、区块链存证平台依据用户发送的原始文件,建立并存储存证数据。
用户可以向区块链存证平台发送原始文件。在本发明实施例中,原始文件就是用户需要验证的文件。然后计算原始文件的哈希。
在区块链存证平台中采用软件开发工具包(SDK),利用公钥加密原始文件得到原始文件的密文。需要说明的是,与公钥对应的私钥在用户处。也就说,公钥存储于区块链存证平台中。
然后,再嵌套原始文件的解密文件。作为一个示例,原始文件的解密文件可以是原始文件的解密脚本。如:该解密脚本可以包括常用解密算法,也可以包括定制解密算法。
在本发明实施例中,采用用户处的私钥和原始文件的解密文件,就可以解密原始文件的密文,进而得到原始文件。
最后,将原始文件的哈希、原始文件的密文和原始文件的解密文件,按照预设上链数据模板设置为存证数据。
为了在区块链存证平台存储存证数据,需要计算存证数据的哈希。
S502、区块链存证平台校验存证数据与存证数据的哈希匹配,则将存证数据的哈希上链,并基于存证数据确定区块链交易标识。
区块链存证平台通过存证接口接收存证数据和存证数据的哈希,然后验证存证数据和存证数据的哈希。作为一个示例,基于存证数据计算验证存证数据的哈希。若验证存证数据的哈希与存证数据的哈希一致,则验证成功;若验证存证数据的哈希与验证数据的哈希不同,则验证失败。
在验证存证数据的哈希与存证数据的哈希一致的情况下,可以将存证数据的哈希上链。存证数据的哈希上链后,可以分别存储于不同的位置,即使存证数据的哈希发生泄漏,由于没有私钥,难以解密原始文件的哈希,原始文件泄漏的风险降低。
另外,基于存证数据确定区块链交易标识,以按照区块链交易标识在区块链存证平台获取存证数据。
在图5的实施例中,由区块链存证平台建立存证数据,并将存证数据的哈希上链,进而减低原始文件泄漏的风险。
S402、区块链存证平台向用户反馈区块链交易标识。
在区块链存证平台确定区块链交易标识后,就可以向用户反馈区块链交易标识。这样,用户可以基于区块链交易标识发起公证。
此外,区块链存证平台可以将存证数据的哈希和区块链交易标识,同步至公证平台,这样做的目的在于:为校验存证数据做准备。公证平台根据存证数据的哈希和区块链交易标识,生成公证标识。并将公证标识返回至区块链存证平台。区块链存证平台可以建立公证标识与区块链交易标识的对应关系。
在图4的实施例中,用户上传原始文件至区块链存证平台,区块链存证平台将存证数据的哈希上链,进而减低原始文件泄漏的风险。
参见图6,图6是根据本发明实施例的从区块链存证平台获取存证数据的流程示意图,具体包括以下步骤:
S601、检验区块链交易标识有效。
为了提高校验数据的效率,避免无效的区块链交易标识带来的影响。可以检验区块链交易标识是否有效,在检验区块链交易标识有效的情况下,可以获取存证数据。
作为一个示例,公证平台依据区块链交易标识查询公证标识,若能查询到公证标识,则检验区块链交易标识有效;若未查询到公证标识,则检验区块链交易标识无效。
S602、根据区块链交易标识,从区块链存证平台获取存证数据,并显示用户的存证信息以接收用户的秘钥。
区块链交易标识有效,则可以以区块链交易标识,从区块链存证平台获取存证数据。获取存证数据的目的在于:验证存证数据。
此外,显示用户的存证信息以接收用户的秘钥。用户看到存证信息后,可以输入与存证信息对应的秘钥。
作为一个示例,存证信息可以包括存证数据的名称、存证数据的存证时间、已经上链存证数据的哈希和区块链交易标识对应的公证标识。
在图6的实施例中,为了提高校验数据的效率,可以检测区块链交易标识是否有效,对于有效的区块链交易标识再获取存证数据。
S102、按照用户的秘钥和解密文件,解析原始文件的密文,得到待验证文件的哈希。
为了在公证平台解密存证数据中原始文件的密文,则需要从用户处获取秘钥。其中,用户的秘钥属于私钥。
按照用户的秘钥和解密文件,进而就可以得到待验证文件的哈希。
参见图7,图7是根据本发明实施例的解析原始文件的密文的流程示意图,具体包括:
S701、按照预设上链数据模板在存证数据中,获取解密文件和原始文件的密文。
在本发明实施例中,上链数据为存证数据的哈希,为了校验存证数据的哈希是否与上链数据一致,则需要计算得到待验证文件的哈希。其中,待验证文件是需要验证的文件。在验证成功的情况下,待验证文件即原始文件。
首先,需要获取原始文件的解密文件和原始文件的密文。原始文件的解密文件和原始文件的密文存储于存证数据中,那么可以按照预设上链数据模板在存证数据中,获取原始文件的解密文件和原始文件的密文。采用预设上链数据模板能够迅速获取相关文件。
作为一个示例,在上链数据模板中,原始文件的解密文件位于第一段,原始文件的密文位于第二段。则可以在存证数据的上链数据模板中的第一段中获取原始文件的解密文件,在存证数据的上链数据模板中的第二段中获取原始文件的密文。
S702、按照用户的秘钥和原始文件的解密文件,解析原始文件的密文,得到待验证文件。
按照用户的秘钥,采用原始文件的解密文件,就可以解析原始文件的密文,得到待验证文件。待验证文件有可能与原始文件相同,也有可能与原始文件不同。
S703、基于待验证文件得到待验证文件的哈希。
根据待验证文件,可以计算得到待验证文件的哈希。作为一个示例,可以根据待验证文件,使用标准hash-256算法生成待验证文件的哈希。
在图7的实施例中,为校验存证数据,可以解析原始文件的密文,进而得到待验证文件的哈希。
S103、待验证文件的哈希与原始文件的哈希一致,根据存证数据的哈希和区块链中存证数据的哈希,校验存证数据。
通过比较存证数据的哈希和区块链中存证数据的哈希,就可以校验存证数据。
参见图8,图8是根据本发明实施例的比较哈希的流程示意图,具体包括:
S801、待验证文件的哈希与原始文件的哈希一致,则在区块链中获取存证数据的哈希。
待验证文件的哈希与原始文件的哈希一致,则说明区块链存证平台中存证数据被修改的可能性较小,则可以获取区块链中的存证数据,以在区块链中的存证数据的哈希为基准,进行比较。
而待验证文件的哈希与原始文件的哈希不同,则说明区块链存证平台中的存证数据被修改。
S802、比较存证数据的哈希和区块链中存证数据的哈希,校验存证数据。
通过比较区块链存证平台的存证数据的哈希和区块链中存证数据的哈希,校验存证数据。
具体来说,区块链存证平台的存证数据的哈希和区块链中存证数据的哈希一致,则校验存证数据成功,可以向用户反馈公证书;区块链存证平台的存证数据的哈希和区块链中存证数据的哈希不同,则校验存证数据失败,可以向用户反馈校验失败。
在图8的实施例中,通过比较区块链存证平台的存证数据的哈希和区块链中存证数据的哈希,校验存证数据。
在上述本发明的实施例中,根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,存证数据包括原始文件的密文、原始文件的解密文件和原始文件夹的哈希;按照用户的秘钥和解密文件,解析原始文件的密文,得到待验证文件的哈希;待验证文件的哈希与原始文件的哈希一致,根据存证数据的哈希和区块链中存证数据的哈希,校验存证数据。在区块链校验数据的过程中,仅需要将存证数据的哈希上链,即使存证数据的哈希被盗取,也不会泄露原始文件,因此能够减少数据泄露的风险。
参见图9,图9是根据本发明实施例的校验数据的交互示意图,图9中包括用户、区块链存证平台和公证平台,具体包括:
S901、请求校验页面。
用户向公证平台发送请求校验页面的请求。
S902、显示校验页面。
公证平台向用户显示校验页面。
S903、输入区块链交易标识和秘钥。
用户可以在校验页面上输入区块链交易标识和秘钥。这样,公证平台可以验证区块链交易标识对应的存证数据。
S904、校验区块链交易标识有效。
公证平台依据区块链交易标识查询公证标识,若能查询到公证标识,则检验区块链交易标识有效;若未查询到公证标识,则检验区块链交易标识无效。
S905、获取存证数据。
公证平台基于区块链交易标识,向区块链存证平台发送获取存证数据的请求。
S906、反馈存证数据。
区块链存证平台接收到获取存证数据的请求后,向公证平台反馈存证数据。
S907、计算得到待验证文件的哈希。
公证平台基于存证数据中原始文件的密文和原始文件的解密文件,计算得到待验证文件的哈希。
S908、待验证文件的哈希与原始文件的哈希一致,且区块链存证平台存证数据的哈希和区块链中存证数据的哈希一致,校验存证数据成功。
在公证平台,待验证文件的哈希与原始文件的哈希一致的情况下,比较区块链存证平台存证数据的哈希和区块链中存证数据的哈希。区块链存证平台存证数据的哈希和区块链中存证数据的哈希一致,校验存证数据成功。
S901、发送公证书。
校验数据成功的情况下,公证平台向用户发送公证书。
在图9的实施例中,用户仅需要向公证平台发送区块链交易标识和秘钥,就可以校验数据,进而收到公证书,操作简单的同时减少数据泄露的风险。
参见图10,图10是根据本发明实施例的数据上链的交互示意图,结合图10示例性说明数据上链的方案,具体包括:
S1001、发送原始数据。
用户向区块链存证平台发送原始数据,目的在于将存证数据的哈希上链。
S1002、生成存证数据和存证数据的哈希。
在区块链存证平台中采用SDK,利用公钥加密原始文件得到原始文件的密文,再嵌套原始文件的解密文件,以及生成原始文件的哈希。按照预设上链数据模板,将原始文件的哈希、原始文件的密文和原始文件的解密文件,设置为存证数据。进而生成存证数据的哈希。
S1003、存证数据和存证数据的哈希匹配。
区块链存证平台通过存证接口接收存证数据和存证数据的哈希,然后验证存证数据和存证数据的哈希匹配。
S1004、存证数据的哈希上链。
将存证数据的哈希在区块链中存储,并生成区块链交易标识。
S1005、发送区块链交易标识。
区块链存证平台向用户发送区块链交易标识,以便用户通过区块链交易标识进行公证。
S1006、发送区块链交易标识。
区块链存证平台向公证平台发送区块链交易标识和存证数据的哈希。
S1007、生成公证标识。
公证平台根据存证数据的哈希和区块链交易标识,生成公证标识。
S1008、反馈公证标识。
公证平台向区块链存证平台反馈公证标识。区块链存证平台根据公证标识和区块链交易标识建立对应关系。
在图10的实施例中,通过区块链存证平台,将原始数据的哈希存储至区块链中,以便在公证时使用。
参见图11,图11是根据本发明实施例的校验数据的装置的主要结构的示意图,校验数据的装置可以实现校验数据的方法,如图11所示,校验数据的装置具体包括:
获取模块1101,用于根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,所述存证数据包括原始文件的密文、原始文件的解密文件和所述原始文件的哈希;
解析模块1102,用于按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到待验证文件的哈希;
校验模块1103,用于所述待验证文件的哈希与所述原始文件的哈希一致,根据所述存证数据的哈希和区块链中所述存证数据的哈希,校验所述存证数据。
在本发明的一个实施例中,所述原始文件的密文、所述原始文件的解密文件和所述原始文件的哈希是按照预设上链数据模板设置的。
在本发明的一个实施例中,获取模块1101,还用于控制所述存证数据存储至所述区块链存证平台后,控制所述区块链存证平台基于所述存证数据确定所述区块链交易标识;
控制所述区块链存证平台向所述用户反馈所述区块链交易标识。
在本发明的一个实施例中,获取模块1101,还用于控制所述区块链存证平台依据用户发送的原始文件,建立并存储所述存证数据;
控制所述区块链存证平台校验所述存证数据与所述存证数据的哈希匹配,则将所述存证数据的哈希上链,并基于所述存证数据确定所述区块链交易标识。
在本发明的一个实施例中,获取模块1101,具体用于检验所述区块链交易标识有效;
根据所述区块链交易标识,从区块链存证平台获取存证数据,并显示用户的存证信息以接收所述用户的秘钥。
在本发明的一个实施例中,解析模块,具体用于按照预设上链数据模板在所述存证数据中,获取所述原始文件的解密文件和所述原始文件的密文;
按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到所述待验证文件;
基于所述待验证文件得到所述待验证文件的哈希。
在本发明的一个实施例中,校验模块1103,具体用于所述待验证文件的哈希与所述原始文件的哈希一致,则在区块链中获取所述存证数据的哈希;
比较所述存证数据的哈希和区块链中存证数据的哈希,校验所述存证数据。
图12示出了可以应用本发明实施例的校验数据的方法或校验数据的装置的示例性系统架构1200。
如图12所示,系统架构1200可以包括终端设备1201、1202、1203,网络1204和服务器1205。网络1204用以在终端设备1201、1202、1203和服务器1205之间提供通信链路的介质。网络1204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1201、1202、1203通过网络1204与服务器1205交互,以接收或发送消息等。终端设备1201、1202、1203上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1201、1202、1203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1205可以是提供各种服务的服务器,例如对用户利用终端设备1201、1202、1203所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的校验数据的方法一般由服务器1205执行,相应地,校验数据的装置一般设置于服务器1205中。
应该理解,图12中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图13,其示出了适于用来实现本发明实施例的终端设备的计算机系统1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,所述存证数据包括原始文件的密文、原始文件的解密文件和所述原始文件的哈希;
按照所述用户的秘钥和所述原始文件的解密文件,解析所述原始文件的密文,得到待验证文件的哈希;
所述待验证文件的哈希与所述原始文件的哈希一致,根据所述存证数据的哈希和区块链中所述存证数据的哈希,校验所述存证数据。
根据本发明实施例的技术方案,根据用户发送的区块链交易标识,从区块链存证平台获取存证数据,存证数据包括原始文件的密文、原始文件的解密文件和原始文件夹的哈希;按照用户的秘钥和解密文件,解析原始文件的密文,得到待验证文件的哈希;待验证文件的哈希与原始文件的哈希一致,根据存证数据的哈希和区块链中存证数据的哈希,校验存证数据。在区块链校验数据的过程中,仅需要将存证数据的哈希上链,即使存证数据的哈希被盗取,也不会泄露原始文件,因此能够减少数据泄露的风险。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。