验证方法、装置和计算机可读存储介质与流程

文档序号:15831398发布日期:2018-11-07 07:21阅读:158来源:国知局
验证方法、装置和计算机可读存储介质与流程

本公开涉及信息安全技术领域,特别涉及一种验证方法、验证装置和计算机可读存储介质。

背景技术

随着互联网的迅猛发展,网购已经成为人们必不可少的购物途径。如何保证网购商品的质量越来越受到广大消费者关注。因此,很多商家会公布商品在各个生产阶段的流转情况作为商品的溯源信息,以证实商品来源的真实性和商品质量。但是,溯源信息大多是以文本加图片的形式公布,不仅单调枯燥而且无法防止商家的信息篡改行为,很难让消费信服。

针对上述情况,在相关技术中,大都通过商家生成的商品唯一码获取商品的流转情况,从而验证商品的相关信息是否真实。



技术实现要素:

本公开的发明人发现上述相关技术中存在如下问题:由商家生成的唯一码容易被篡改,导致验证结果不可靠。鉴于此,本公开提出了一种验证技术方案,能够对信息进行可靠验证。

根据本公开的一些实施例,提供了一种验证方法,包括:获取客户端上传的待验证文件中的区块链链码和上传数据;从区块链中获取与所述区块链链码相应的哈希值作为第一哈希值;对所述上传数据进行哈希计算获取第二哈希值;通过比较所述第一哈希值和所述第二哈希值是否一致,验证所述待验证文件是否被篡改过。

可选地,所述待验证文件由如下步骤生成:通过区块链计算并存储上传数据的哈希值;生成与所述哈希值相应的区块链链码;将该上传数据和该区块链链码绑定以生成所述待验证文件。

可选地,将该上传数据和该区块链链码绑定包括:对该上传数据进行加壳处理以生成加壳文件,所述加壳文件的壳头部中存储有该区块链链码。

可选地,对所述待验证文件进行解壳处理,从所述壳头部中获取区块链链码。

可选地,所述上传数据为在各生产环节中与生产的物品相关的多媒体信息。

根据本公开的另一些实施例,提供一种验证装置,包括:数据获取单元,用于获取客户端上传的待验证文件中的区块链链码和上传数据;哈希值获取单元,用于从区块链中获取与所述区块链链码相应的哈希值作为第一哈希值;哈希值计算单元,用于对所述上传数据进行哈希计算获取第二哈希值;验证单元,用于通过比较所述第一哈希值和所述第二哈希值是否一致,验证所述待验证文件是否被篡改过。

可选地,所述待验证文件由如下步骤生成:通过区块链计算并存储上传数据的哈希值;生成与所述哈希值相应的区块链链码;将该上传数据和该区块链链码绑定以生成所述待验证文件。

可选地,所述待验证文件为通过对上传数据进行加壳处理以生成的加壳文件,所述加壳文件的壳头部中存储有区块链链码。

可选地,所述数据获取单元对所述待验证文件进行解壳处理,从所述壳头部中获取区块链链码。

可选地,所述上传数据为在各生产环节中与生产的物品相关的多媒体信息。

根据本公开的又一些实施例,提供一种验证装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的验证方法中的一个或多个步骤。

根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的验证方法中的一个或多个步骤。

在上述实施例中,通过区块链对信息进行验证,能够利用区块链技术的防篡改特性和哈希计算的唯一性为信息验证提供可靠依据,从而提高信息验证的可靠性。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1示出本公开的验证方法的一些实施例的流程图;

图2示出待验证文件生成方法的一些实施例的流程图;

图3示出本公开的验证装置的一些实施例的框图;

图4示出本公开的验证装置的另一些实施例的框图;

图5示出本公开的验证装置的又一些实施例的框图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1示出本公开的验证方法的一些实施例的流程图。

如图1所示,该方法包括:步骤110,获取区块链链码和上传数据;步骤120,根据区块链链码获取第一哈希值;步骤130,计算上传数据的第二哈希值;步骤140,根据两个哈希值进行验证。

在步骤110中,获取客户端上传的待验证文件中的区块链链码和上传数据。例如,待验证文件中的上传数据可以为某物品的溯源信息,用户购买了该物品后可以将该物品的溯源信息上传给区块链来验证该溯源信息的真实性。

在一些实施例中,上传数据可以为在该物品的各生产环节中采集的多媒体信息。多媒体信息可以是通过手机、电脑、摄像头等多媒体终端采集的视频、音频、图片、文本、检测报告、合同信息等。这些多媒体信息可以为用户提供具体、直观的物品生产信息,从而增强用户对物品生产的信任程度,提高用户再度购买的欲望。

在一些实施例中,商家可以事先将物品的溯源信息上传给区块链,以便用户在购买了该物品后将获取的溯源信息与存储在区块链中的溯源信息进行比较验证。存储在区块链中的信息无法被随意更改,因此可以保证验证的可靠性。

区块链可以根据商家上传的溯源信息生成并存储哈希值,然后生成相应的区块链链码,用于指示该哈希值在区块链中的存储情况。根据区块链链码即可在区块链中找到溯源信息相应的哈希值,因此,可以将溯源信息和区块链码组成待验证文件下发给各客户端,以便用户在购买了物品后通过客户端上传至区块链进行验证。例如,可以通过图2中的步骤生成待验证文件。

图2示出待验证文件生成方法的一些实施例的流程图。

如图2所示,该方法包括:步骤210,计算并存储哈希值;步骤220,生成区块链链码;步骤230,生成待验证文件。

在步骤210中,通过区块链计算并存储上传数据的哈希值。例如,商家将采集的溯源信息上传至区块链存储,区块链通过哈希计算获取该溯源信息的哈希值。

在步骤220中,生成与所述哈希值相应的区块链链码。例如,区块链在存储哈希值时生成相应的全局唯一的区块链链码。

在步骤230中,将上传数据和区块链链码绑定以生成待验证文件。例如,可以对上传数据进行加壳处理以生成加壳文件,加壳文件的壳头部中存储有区块链链码。加壳文件在实现文件加密的同时不影响文件中数据和程序的使用。因此,用户获取加壳文件后虽然不能对其进行更改,但是仍然可以使用加壳文件中的多媒体数据,从而提高了数据的可靠性。

在一些实施例中,区块链可以将生成的待验证文件下发给各个客户端。用户在购买了物品之后可以获取相应的待验证文件,通过将该待验证文件上传区块链,可以验证其中数据的真实性。例如,可以通过图1中的步骤120-140进行验证。

在步骤120中,从区块链中获取与区块链链码相应的哈希值作为第一哈希值。例如,可以对待验证文件进行解壳处理,从壳头部中获取区块链链码,根据区块链链码获取第一哈希值。第一哈希值为商家事先存储于区块链当中的。区块链具有技术公开、多方背书、不可篡改的特点,存入区块链的数据不可更改。因此,第一哈希值可以作为验证用户上传数据真实性的可靠依据。

在步骤130中,对上传数据进行哈希计算获取第二哈希值。例如,区块链可以通过哈希运算自动计算上传数据的哈希值。第二哈希值代表的是用户获取的数据,例如由多种媒体数据组成的物品的溯源信息。

在步骤140中,通过比较第一哈希值和第二哈希值是否一致,验证待验证文件是否被篡改过。将用户获取的数据与区块链存储的数据进行比较,可以验证用户获取的数据的真实性。

上述实施例中,通过区块链对信息进行验证,能够利用区块链技术的防篡改特性和哈希计算的唯一性为信息验证提供可靠依据,从而提高信息验证的可靠性。

图3示出本公开的验证装置的一些实施例的框图。

如图3所示,验证装置3包括数据获取单元31、哈希值获取单元32、哈希值计算单元33和验证单元34。

数据获取单元31获取客户端上传的待验证文件中的区块链链码和上传数据。例如,上传数据可以为在各生产环节中与生产的物品相关的多媒体信息。

在一些实施例中,待验证文件由如下步骤生成:通过区块链计算并存储上传数据的哈希值;生成与哈希值相应的区块链链码;将上传数据和所述区块链链码绑定以生成待验证文件。

例如,可以通过对上传数据进行加壳处理生成加壳文件作为待验证文件,加壳文件的壳头部中存储有区块链链码。数据获取单元31可以对待验证文件进行解壳处理,从壳头部中获取区块链链码。

哈希值获取单元32从区块链中获取与区块链链码相应的哈希值作为第一哈希值。哈希值计算单元33对上传数据进行哈希计算获取第二哈希值。验证单元34通过比较第一哈希值和所述第二哈希值是否一致,验证所述待验证文件是否被篡改过。

上述实施例中,通过区块链对信息进行验证,能够利用区块链技术的防篡改特性和哈希计算的唯一性为信息验证提供可靠依据,从而提高信息验证的可靠性。

图4示出本公开的验证装置的另一些实施例的框图。

如图4所示,该实施例的装置4包括:存储器41以及耦接至该存储器41的处理器42,处理器42被配置为基于存储在存储器41中的指令,执行本公开中任意一个实施例中的验证方法中的一个或多个步骤。

其中,存储器41例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。

图5示出本公开的验证装置的又一些实施例的框图。

如图5所示,在验证装置5中,处理器520通过bus总线530耦接至存储器510。验证装置5还可以通过存储接口560连接至外部存储装置550以便调用外部数据,还可以通过网络接口560连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。

在一些实施例中,通过存储器510存储数据指令,再通过处理器520处理上述指令,能够实现前述任一实施例的验证方法。

本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

至此,已经详细描述了根据本公开的验证方法、验证装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1