本发明涉及数据处理技术领域,特别是涉及一种基于区块链的数据管理方法及装置。
背景技术:
随着区块链技术快速发展,随之而来的是数据面临多方面的威胁,不论是上传还是读取数据的过程变得不安全,数据极有可能丢失或被篡改。为规避这些风险,许多区块链产品使用硬件私钥存储设备,使访问数据上链的过程不触网,保证数据安全。
目前,冷钱包是近年来一种典型的使用了硬件私钥存储技术的相关发明,其存储功能类似于硬盘,但交易时,需要支付密码,并且随机生成强种子密码来获得私钥和地址,每一笔交易进行数字签名备注,随时可查。冷钱包主要用于数字资产的安全存储和交易,还无法应用于更广泛的场景中,特别是在数据安全、访问权限控制等更广泛的使用领域,相关技术还有待研究。同时,冷钱包在创建钱包,备份私钥时相当麻烦,首先要找到两个相距较远且可信的人,并且交通方式都不能一致,因此变相的加大了财力物力支出。冷钱包避免了被黑客盗取私钥的风险,但是可能面临物理安全风险,比如电脑丢失损坏等,这给非数字资产类的应用落地带来了很大的不便。
因此,如何提高区块链中数据上传和读取的安全性是亟待解决的问题。
技术实现要素:
本发明的目的是提供一种基于区块链的数据管理方法及装置,以实现提高区块链中数据上传和读取的安全性。
为解决上述技术问题,本发明提供一种基于区块链的数据管理方法,该方法包括:
接收用户上传的加密数据,利用校验算法对所述加密数据进行校验,生成校验码;
将校验码插入所述加密数据中,将所述加密数据写入区块链上的节点中;
接收用户输入的数据访问请求,对区块链上的节点中的所述加密数据进行校验码验证,若验证成功,删除所述加密数据中的校验码,读取删除校验码的加密数据。
优选的,所述校验算法包括哈希算法或者奇偶校验算法。
优选的,所述对区块链上的节点中的所述加密数据进行校验码验证,若验证成功,删除所述加密数据中的校验码,读取删除校验码的加密数据,包括:
对所述加密数据的校验码进行验证,验证所述加密数据中是否含有验证码,若是,删除所述加密数据中的校验码,读取删除校验码的加密数据。
优选的,所述方法还包括:
若验证失败,修改所述加密数据,使修改后的加密数据与写入时的加密数据相同,读出修改后的加密数据。
本发明还提供一种基于区块链的数据管理装置,用于实现上述方法,包括:
校验模块,用于接收用户上传的加密数据,利用校验算法对所述加密数据进行校验,生成校验码;
写入模块,用于将校验码插入所述加密数据中,将所述加密数据写入区块链上的节点中;
读取模块,用于接收用户输入的数据访问请求,对区块链上的节点中的所述加密数据进行校验码验证,若验证成功,删除所述加密数据中的校验码,读取删除校验码的加密数据。
优选的,所述校验算法包括哈希算法或者奇偶校验算法。
优选的,所述读取模块具体用于接收用户输入的数据访问请求,对所述加密数据的校验码进行验证,验证所述加密数据中是否含有验证码,若是,删除所述加密数据中的校验码,读取删除校验码的加密数据。
优选的,所述读取模块还包括:
修改单元,用于若验证失败,修改所述加密数据,使修改后的加密数据与写入时的加密数据相同,读出修改后的加密数据。
本发明所提供的一种基于区块链的数据管理方法及装置,接收用户上传的加密数据,利用校验算法对所述加密数据进行校验,生成校验码;将校验码插入所述加密数据中,将所述加密数据写入区块链上的节点中;接收用户输入的数据访问请求,对区块链上的节点中的所述加密数据进行校验码验证,若验证成功,删除所述加密数据中的校验码,读取删除校验码的加密数据。可见,利用校验算法对加密数据进行校验并生成校验码,同时将校验码插入到加密数据中一同存储,当读取数据时,在完成校验成功后删除校验码,得到原始加密数据,这样进行校验码的添加和验证以确保读出与写入的加密数据完全一致,进而对区块链中加密数据进行保护,提高区块链中数据上传和读取的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明所提供的一种基于区块链的数据管理方法的流程图;
图2为本发明所提供的一种基于区块链的数据管理装置结构示意图。
具体实施方式
本发明的核心是提供一种基于区块链的数据管理方法及装置,以实现提高区块链中数据上传和读取的安全性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的一种基于区块链的数据管理方法的流程图,该方法包括以下步骤:
s11:接收用户上传的加密数据,利用校验算法对加密数据进行校验,生成校验码;
s12:将校验码插入加密数据中,将加密数据写入区块链上的节点中;
s13:接收用户输入的数据访问请求,对区块链上的节点中的加密数据进行校验码验证,若验证成功,删除加密数据中的校验码,读取删除校验码的加密数据。
可见,该方法利用校验算法对加密数据进行校验并生成校验码,同时将校验码插入到加密数据中一同存储,当读取数据时,在完成校验成功后删除校验码,得到原始加密数据,这样进行校验码的添加和验证以确保读出与写入的加密数据完全一致,进而对区块链中加密数据进行保护,提高区块链中数据上传和读取的安全性。
其中,将校验码插入加密数据中的过程具体为:将8位字节的校验码添加到加密数据的512字节的数据块中。具体的,若写入的加密数据是a1、a2及a3这三个数据块构成的,校验码为cc,那么在数据块a1后面加上校验码cc,在数据块a2后面加上校验码cc,在数据块a3后面加上校验码cc,再将添加码后的每个数据整合,那么添加验证码后的数据中每个数据块后面都有一个验证码cc,即在每个数据块中加入相应的校验码。
基于上述方法,进一步的,校验算法包括哈希算法或者奇偶校验算法。
可以利用哈希算法对加密数据进行校验生成校验码,并将校验码插入到数加密数据中,从而利用校验码进行数据保护从而保证数据完整性。
进一步的,步骤s13中,对区块链上的节点中的加密数据进行校验码验证,若验证成功,删除加密数据中的校验码,读取删除校验码的加密数据的过程具体为:对加密数据的校验码进行验证,验证加密数据中是否含有验证码,若是,删除加密数据中的校验码,读取删除校验码的加密数据。
进一步的,所述方法还包括以下步骤:
s21:若验证失败,修改加密数据,使修改后的加密数据与写入时的加密数据相同,读出修改后的加密数据。
当用户需要读取区块链中加密数据时,对校验码进行验证成功后,删除校验码,读出正确加密数据,若验证失败,表明数据发生损坏,修改数据,使修改后的加密数据与写入时的加密数据相同,这样保证读取与写入数据的完整性及一致性,
在上传的加密数据中加入验证码,能够保证数据无误,当数据写入区块链节点中时,通过哈希算法对数据进行校验,并将8位校验码加入到加密数据的数据块的行列中,然后进行存储,当需要读取数据时,对校验码就行验证,并删除校验码以正常数据读出。该方法不仅会验证读/写操作,还能够保证数据传输路径中的数据完整性。
利用校验码进行数据保护的方法主要包含以下三个过程:加入校验码、验证校验码及删除校验码。具体如下:
当用户数据进入区块链节点之前,利用哈希算法对即将写入的加密数据进行校验,并生成校验码,同时将校验码插入到数据块中,并遵循每512字节的数据插入8位字节校验码的规则。校验码插入完成后,在数据写入区块链节点时,会对数据进行校验码验证,以保证写入节点的数据的完整性。当用户需要读取数据时,会在对数据进行校验码验证后将其从节点读出,对数据进行校验码验证,如果正确,同时会删除校验码将原始加密数据送入到链路中,读取原始加密数据。若不正确,即验证失败,表明数据发生损坏,修改数据,使修改后的数据与写入时的数据相同,保证读取与写入数据的完整性及一致性。这样进行校验码的添加和验证以确保读出与写入的加密数据完全一致,从而对数据进行保护,能够保证数据在传输路径中的完整性。
请参考图2,图2为本发明所提供的一种基于区块链的数据管理装置结构示意图,用于实现上述方法,该装置包括:
校验模块101,用于接收用户上传的加密数据,利用校验算法对加密数据进行校验,生成校验码;
写入模块102,用于将校验码插入加密数据中,将加密数据写入区块链上的节点中;
读取模块103,用于接收用户输入的数据访问请求,对区块链上的节点中的加密数据进行校验码验证,若验证成功,删除加密数据中的校验码,读取删除校验码的加密数据。
可见,该装载利用校验算法对加密数据进行校验并生成校验码,同时将校验码插入到加密数据中一同存储,当读取数据时,在完成校验成功后删除校验码,得到原始加密数据,这样进行校验码的添加和验证以确保读出与写入的加密数据完全一致,进而对区块链中加密数据进行保护,提高区块链中数据上传和读取的安全性。
基于上述装置,进一步的,校验算法包括哈希算法或者奇偶校验算法。
进一步的,读取模块具体用于接收用户输入的数据访问请求,对加密数据的校验码进行验证,验证加密数据中是否含有验证码,若是,删除加密数据中的校验码,读取删除校验码的加密数据。
进一步的,读取模块还包括:修改单元,用于若验证失败,修改加密数据,使修改后的加密数据与写入时的加密数据相同,读出修改后的加密数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基于区块链的数据管理方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。