System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及文件传输领域,具体涉及一种基于区块链与ipfs的文件加密传输方法、介质以及设备。
技术介绍
1、区块链技术的去中心化特点能够兼顾数据传输过程中的数据安全以及个体的用户隐私,但由于区块链特点在区块链平台上写入数据需要产生交易,根据数据的容量大小计算需要相应的手续费。如果数据过多还可能因为交易产生的手续费超过平台的手续费限制,从而导致交易回滚。因此,区块链上不适合存储大文件,只适合存储小的信息。基于ipfs网络的分布式文件传输能够存储大容量的文件信息,但对于每一文件需要进行分片后存储,分片文件的存储均对应于一个ipfs的命名,这一方式不便于用户单独取用与记忆。
技术实现思路
1、鉴于上述问题,本专利技术提供了一种基于区块链与ipfs的文件加密传输方法、介质以及设备,解决了现有的区块链不适合存储大文件,以及ipfs网络中大文件的分片不便于取用与记忆的问题。
2、为实现上述目的,在第一方面,本专利技术提供了一种基于区块链与ipfs的文件加密传输方法,适用于第一用户端;方法包括:
3、对待传输文件进行分片,获得根分片文件以及剩余分片文件;
4、将剩余分片文件上传至ipfs网络;以及
5、将根分片文件按照第一加密形式进行加密,获得第一加密密钥以及第一加密文件;
6、将第一加密文件上传至ipfs网络;以及
7、将第一加密密钥按照第二加密形式进行加密,获得第二加密文件,将第二加密文件上链并存储。
8、
9、生成第一标识信息,第一标识信息包括第一加密文件的标识信息;
10、将第一加密密钥按照第二加密形式进行加密,获得第二加密文件,将第二加密文件上链并存储还包括:
11、将第二加密文件与第一标识信息上链并存储。
12、在一些实施例中,根分片文件包括第二标识信息组,第二标识信息组包括按照预设顺序排布的多个第二标识信息,每一第二标识信息对应一个剩余分片文件的标识信息,预设顺序为剩余分片文件的分片顺序。
13、在一些实施例中,将剩余分片文件上传至ipfs网络还包括:
14、将第二标识信息与剩余分片文件映射存储并上传至ipfs网络。
15、在一些实施例中,第一加密形式为对称式加密,第二加密形式为非对称式加密。
16、在第二方面,本专利技术还提供一种基于区块链与ipfs的文件加密传输方法,适用于第二用户端;方法包括:
17、获取链上存储的第二加密文件,并对第二加密文件解密,获得第一加密密钥;以及
18、获取ipfs网络上存储的第一加密文件,根据第一加密密钥对第一加密文件进行解密,获得根分片文件;
19、解析根分片文件,根据根分片文件获取ipfs网络上存储的剩余分片文件;
20、根据根分片文件对剩余分片文件进行拼接,获得待传输文件。
21、在一些实施例中,方法还包括:
22、接收文件下载指令,文件下载指令包括第三标识信息,第三标识信息包括待下载文件的标识信息;
23、获取链上存储的第二加密文件还包括:
24、获取第二加密文件对应的第一标识信息,判断第一标识信息与第三标识信息是否匹配,若是,则获取第二加密文件。
25、在一些实施例中,根分片文件包括第二标识信息组,第二标识信息组包括按照预设顺序排布的多个第二标识信息,每一第二标识信息对应一个剩余分片文件,预设顺序为剩余分片文件的分片顺序;
26、解析根分片文件包括:
27、获取根分片文件的第二标识信息组;
28、根据第二标识信息组中的多个第二标识信息,对应下载ipfs网络中的剩余分片文件;
29、根据根分片文件对剩余分片文件进行拼接包括:
30、将剩余分片文件按照第二标识信息组中的预设顺序进行拼接。
31、在第三方面,本专利技术还提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现在第一方面所述的方法。
32、在第四方面,本专利技术还提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现在第一方面所述的方法。
33、区别于现有技术,上述技术方案中,通过将第一用户端与第二用户端均与区块链以及ipfs网络建立通信连接,第一用户端作为待传输文件的发出端,先将待传输文件分片形成根分片文件以及剩余分片文件,将剩余分片文件上传至ipfs网络中,将根分片文件按照第一加密形式加密后生成第一加密文件以及第一加密密钥,将第一加密文件也上传至ipfs网络中,并将第一加密密钥按照第二加密形式进行加密生成第二加密文件,将第二加密文件上传至区块链中并存储;第二用户端作为待传输文件传输后的下载端,可以在区块链上获取第二加密文件,再对第二加密文件进行解密后生成第一加密密钥,并对应下载ipfs网络中的第一加密文件,利用第一加密密钥对第一加密文件进行解密,获得根分片文件,根据根分片文件在ipfs网络中对应下载剩余分片文件,再拼接形成待传输文件,从而完成文件的下载过程。本技术方案充分利用了区块链的去中心化特点,保证了第二加密文件传输过程中的安全性,同时利用ipfs网络的大文件存储优势,将根分片文件与剩余分片文件存储在ipfs网络中,便于第二用户端的获取,同时,本技术方案只需要对根分片文件进行加密,降低了文件加密传输过程中的加密成本,同时,剩余分片文件的未加密状态能够保留文件在ipfs网络中的文件去重功能,提高文件存储与传输效率。
34、上述
技术实现思路
相关记载仅是本专利技术技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本专利技术的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本专利技术的上述目的及其它目的、特征和优点能够更易于理解,以下结合本专利技术的具体实施方式及附图进行说明。
【技术保护点】
1.一种基于区块链与IPFS的文件加密传输方法,其特征在于,适用于第一用户端;
2.根据权利要求1所述的基于区块链与IPFS的文件加密传输方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于区块链与IPFS的文件加密传输方法,其特征在于,所述根分片文件包括第二标识信息组,所述第二标识信息组包括按照预设顺序排布的多个第二标识信息,每一所述第二标识信息对应一个剩余分片文件的标识信息,所述预设顺序为所述剩余分片文件的分片顺序。
4.根据权利要求3所述的基于区块链与IPFS的文件加密传输方法,其特征在于,将剩余分片文件上传至IPFS网络还包括:
5.根据权利要求1所述的基于区块链与IPFS的文件加密传输方法,其特征在于,所述第一加密形式为对称式加密,所述第二加密形式为非对称式加密。
6.一种基于区块链与IPFS的文件加密传输方法,其特征在于,适用于第二用户端;所述方法包括:
7.根据权利要求6所述的基于区块链与IPFS的文件加密传输方法,其特征在于,所述方法还包括:
8.根据权利要求6所述的基
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-5中任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-5中任一项所述的方法。
...【技术特征摘要】
1.一种基于区块链与ipfs的文件加密传输方法,其特征在于,适用于第一用户端;
2.根据权利要求1所述的基于区块链与ipfs的文件加密传输方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的基于区块链与ipfs的文件加密传输方法,其特征在于,所述根分片文件包括第二标识信息组,所述第二标识信息组包括按照预设顺序排布的多个第二标识信息,每一所述第二标识信息对应一个剩余分片文件的标识信息,所述预设顺序为所述剩余分片文件的分片顺序。
4.根据权利要求3所述的基于区块链与ipfs的文件加密传输方法,其特征在于,将剩余分片文件上传至ipfs网络还包括:
5.根据权利要求1所述的基于区块链与ipfs的文件加密传输方法,其特征在于,所述第一加密形式为对称式加密,所述第二加密形式为非对称式加密。
6.一种基于区块链与ipfs的文...
【专利技术属性】
技术研发人员:宋志刚,杨文琴,石维钗,邓云杰,
申请(专利权)人:数研院福建信息产业发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。