IPFS是星际文件系统,它用于在分布式文件系统中存储和共享数据的协议和对等网络。IPFS使用内容寻址,来唯一标识连接所有计算设备的每个文件。 最近,NodeJS中的IPFS文件加密示例项目,实现了加密、解密文件,并将其存储在IPFS网络上。这是托管和保护任何敏感数据的理想解决方案。V丨ipfssy 今天,我们看一下,如何在将文件上传到IPFS之前对其进行加密。同样,它可以解密和下载这些文件。该解决方案同时使用RSA和AES加密算法来实现最大的安全性。 首先,安装: 1)下载并安装IPFS CL 2)初始化IPFS:?ipfs init 3)启动IPFS:?ipfs daemon 4)在另一个提示下运行以下命令: git clone https://github.com/healzer/ipfs-file-encryption.git cd ipfs-file-encryption npm install node index.js 其次,我们可以使用提供的_testing()功能来测试和验证以下功能: 最后,配置: 您可能要index.js根据您的环境更改这些变量: ipfsEndPoint (default: 'http://localhost:5001') rest_port (default: 3000) 总的来说,加密策略同时使用RSA和AES来实现最大的安全性。加密文件进行上传,所有这些操作均在内存中进行。对于非常大的文件,可能需要在磁盘上执行此操作。 同时,根据AES加密算法的要求,将16字节密钥和8字节IV值转换为十六进制,并得到32字节密钥和16字节IV。输出文件由:头文件,RSA加密密钥+ IV和原始文件的AES加密数据组成。 另一方面,文件的解密步骤如下: 1)下载文件(内存中)。 2)从标题中提取加密密钥。 3)使用您的RSA私钥解密密钥。 4)从标题中提取IV值。 5)使用步骤3中的解密密钥和IV值解密文件数据。 注意: 我们同时使用RSA和AES算法:RSA只能加密有限数量的数据,但不能超过其密钥大小,因此我们可以使用它来加密AES的秘密密钥。然后,对称AES策略用于加密潜在的大量数据,即文件的数据本身。 出于简化原因,也可以单独使用AES。但是,包含RSA的好处是我们可以为最终用户生成许多RSA解密密钥(=私钥),而只有一个加密密钥(=公钥);而不是与所有用户共享一个密钥。 我们为什么要选择IPFS? 在可用性和性能方面,IPFS优于bittorrent。由于内容寻址,IPFS可以防止文件重复。V丨ipfssy 1)单个文件可以很容易地从某个“源”下载。而使用Bittorrent,则必须创建一个“ .torrent”文件,将其提交给跟踪器并进行种子植入。 2)另一方面,IPFS在使文件可共享方面要快得多。IPFS文件可以分发和负载均衡,使其成为完美的CDN解决方案。而使用BitTorrent完全不可能。 3)在IPFS中,文件流通过HTTP可以直接使用。而BitTorrent中的流媒体是一项付费功能。 4)大文件在IPFS中被分块/分片,因此,人们可以从不同的节点下载块,并最大限度地利用带宽。这在IPFS和BitTorrent中都可以实现。 5)对于尝试共享文件的新人来说,BitTorrent的进入门槛很高。而IPFS很轻松集成到拖放界面。 6)使用IPFS,用户可以选择他/她要的“种子”的文件。而BitTorrent要求您在torrent中为所有文件设定种子。 —- 编译者/作者:桑榆区块链 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
IPFS文件如何加密与解密?
2020-12-17 桑榆区块链 来源:区块链网络
LOADING...
相关阅读:
- 200万美元用于以太坊2.0抵押解决方案2020-12-15
- 什么是多重签名技术?为什么交易所多签更安全?2020-12-15
- IPFS彻底解决互联网“致命危机”激增70%2020-12-15
- UBitMEX论币:比特币抵达P站每天1亿人看的网站2020-12-15
- 区块链如何助力武汉数字经济增长–世界区块链大会2020-12-15