使用 IPFS 加密安全地存儲(chǔ)文件
您是否厭倦了將私人文件存儲(chǔ)在可能被黑客攻擊或?qū)彶榈募惺皆品?wù)上?
您是否希望確保您的數(shù)據(jù)安全且僅供您和您授權(quán)的同行訪(fǎng)問(wèn)?
如果是這樣,您可能會(huì)對(duì)IPFS-Encrypted[1]感興趣,這是一個(gè) Node.js 模塊,允許您使用 AES-256-CBC 加密將加密文件夾上傳到 IPFS 或從 IPFS 下載加密文件夾。
如何運(yùn)行
IPFS-Encrypted[2]利用星際文件系統(tǒng) (IPFS),這是一種點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),可提供去中心化的內(nèi)容尋址存儲(chǔ)和檢索系統(tǒng)。IPFS 允許您通過(guò)為文件分配一個(gè)基于內(nèi)容而不是位置或名稱(chēng)的唯一內(nèi)容 ID (CID) 來(lái)存儲(chǔ)和共享文件。這意味著您可以從任何 IPFS 節(jié)點(diǎn)訪(fǎng)問(wèn)您的文件,而不必?fù)?dān)心它們的物理位置或可用性。IPFS 還提供內(nèi)置的版本控制、重復(fù)數(shù)據(jù)刪除和緩存機(jī)制,可以降低分發(fā)和共享大文件的存儲(chǔ)和帶寬成本。
然而,雖然 IPFS 非常適合存儲(chǔ)和共享公共文件,但它不提供內(nèi)置加密或訪(fǎng)問(wèn)控制機(jī)制。這意味著任何知道您文件的 CID 的人都可以訪(fǎng)問(wèn)它們,無(wú)論他們是否有權(quán)這樣做。為了解決這個(gè)限制,IPFS-Encrypted 使用 AES-256-CBC 加密來(lái)使用只有您和您的授權(quán)伙伴知道的密碼來(lái)加密您的文件夾的內(nèi)容。這樣,即使有人獲得了您的加密文件夾的 CID,他們也無(wú)法在沒(méi)有密碼的情況下訪(fǎng)問(wèn)其中的內(nèi)容。
IPFS-Encrypted 還集成了 Web3 存儲(chǔ),這是一個(gè)分散的存儲(chǔ)平臺(tái),為 IPFS 提供企業(yè)級(jí)的可靠性、安全性和性能。Web3 存儲(chǔ)允許您使用可以通過(guò)注冊(cè)他們的服務(wù)獲得的令牌來(lái)驗(yàn)證您對(duì) IPFS 網(wǎng)絡(luò)的請(qǐng)求。通過(guò)使用 Web3 存儲(chǔ),您可以確保您的文件存儲(chǔ)在安全且冗余的節(jié)點(diǎn)網(wǎng)絡(luò)中,這些節(jié)點(diǎn)網(wǎng)絡(luò)可防止數(shù)據(jù)丟失、審查和其他攻擊。
網(wǎng)站
我們使用了 IPFS 加密的 Node.js 模塊,并構(gòu)建了一個(gè)網(wǎng)站,用戶(hù)可以在其中將文件上傳/檢索到 IPFS。上傳到我們網(wǎng)站的所有文件都經(jīng)過(guò)加密,確保我們用戶(hù)數(shù)據(jù)的安全和隱私。要試用我們的網(wǎng)站,請(qǐng)?jiān)L問(wèn)鏈接:https ://ipfs-encrypt-web.vercel.app/[3]
要求
要使用ipfs-encrypted,您需要具備以下條件:
- ? Node.js 安裝在您的計(jì)算機(jī)上。您可以從官方Node.js 網(wǎng)站[4]下載它。
- ? 用于驗(yàn)證您對(duì) IPFS 網(wǎng)絡(luò)的請(qǐng)求的 Web3 存儲(chǔ)令牌。您可以通過(guò)注冊(cè)Web3 Storage[5]來(lái)獲取令牌。
安裝
您可以ipfs-encrypted通過(guò)運(yùn)行以下命令使用 npm安裝
要求
要使用ipfs-encrypted,您需要具備以下條件:
- ? Node.js 安裝在您的計(jì)算機(jī)上。您可以從官方Node.js 網(wǎng)站[6]下載它。
- ? 用于驗(yàn)證您對(duì) IPFS 網(wǎng)絡(luò)的請(qǐng)求的 Web3 存儲(chǔ)令牌。您可以通過(guò)注冊(cè)Web3 Storage[7]來(lái)獲取令牌。
如何使用 IPFS 加密
使用 IPFS-Encrypt 簡(jiǎn)單直接。以下是您可以使用的一些主要功能:DOCS[8]
- ? uploadEncryptionIpfs(Web3Storagetoken, folderPath, password):將文件夾上傳到 IPFS 并使用密碼加密其內(nèi)容。
- ? decryptFolderIpfs(Web3Storagetoken, cid, password, downloadLocation):從 IPFS 檢索加密文件夾并使用密碼解密其內(nèi)容。
- ? uploadToIpfs(Web3Storagetoken, folderLocation):將文件夾上傳到 IPFS 而不加密。
- ? downloadFile(Web3Storagetoken, cid, downloadLocation): 從 IPFS 下載一個(gè)文件到當(dāng)前目錄。
原文:https://vikasrushi.hashnode.dev/securely-store-files-with-ipfs-encrypted?
引用鏈接
[1]? IPFS-Encrypted: ??https://github.com/0xVikasRushi/ipfs-encrypt??
[2]? IPFS-Encrypted: ??https://www.npmjs.com/package/ipfs-encrypted??
[3]? https ://ipfs-encrypt-web.vercel.app/: ??https://ipfs-encrypt-web.vercel.app/??
[4]? Node.js 網(wǎng)站: ??https://nodejs.org/en/download/[5]??? 您可以通過(guò)注冊(cè)Web3 Storage: ??https://web3.storage/??
[6]? Node.js 網(wǎng)站: ??https://nodejs.org/en/download/??
[7]? 您可以通過(guò)注冊(cè)Web3 Storage: ??https://web3.storage/??
[8]? DOCS: https://github.com/0xVikasRushi/ipfs-encrypt#readme