Skip to content

内容标识符 (CID)

每个 IPFS 文件获得的唯一指纹。

什么是 CID?

内容标识符 (CID) 是一个自描述标签,用于唯一标识 IPFS 上的一段数据。它由文件内容的加密哈希结合所使用的哈希算法和编码格式的元数据派生而来。

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

bafy 开头的 CID(对于小型单区块内容则以 bafk 开头)使用 CIDv1,即现代的自描述格式。以 Qm 开头的旧版 CID 使用 CIDv0(base58 编码的 SHA-256)——仍然有效、仍可解析,但不再是新内容的默认输出格式。

关键属性

  • 确定性 — 相同的文件总是产生相同的 CID。两次上传同一张图片,您会得到相同的标识符。
  • 唯一性 — 即使一个字节的更改也会产生完全不同的 CID。这使 CID 具有防篡改性。
  • 自验证 — 收到文件的任何人都可以重新计算哈希并确认它与请求的 CID 匹配。
  • 不可变 — CID 始终指向相同的内容。您无法更改 CID 解析到的内容。

IPFS.NINJA 中的 CID

您上传的每个文件都会在 API 响应中返回一个 CID。使用它来:

  • 通过网关访问文件:ipfs.ninja/ipfs/<CID>
  • 检索文件元数据:GET /file/<CID>
  • 在链上引用内容(NFT、智能合约)
  • 与任何人分享 — 他们可以验证内容是否匹配

CIDv0 与 CIDv1

属性CIDv0CIDv1
前缀Qm...bafy...(dag-pb,用于目录和多区块文件),bafk...(raw,用于小型单区块内容),以及其他编解码器对应的前缀
哈希函数仅 SHA-256多种(SHA-256、Blake2b 等)
编码Base58(大小写混合)Multibase —— 默认使用 base32(小写,DNS 安全)
自描述是(包含编解码器 + 哈希信息)
分块器256 KiB(旧版默认值)根据 IPIP-0499,为 1 MiB
叶节点编码包装在 dag-pb 中原始字节(raw-leaves=true

IPFS.NINJA 的输出格式

2026-07-13 之后完成的上传和固定操作默认返回 CIDv1:CIDv1 base32 编码、1 MiB 分块、原始叶节点——即 IPIP-0499 unixfs-v1-2025 规范所定义的配置。实际影响如下:

  • 小文件(≤ 1 MiB)返回的是 bafk...(raw 单区块 CIDv1)
  • 较大的文件和目录返回的是 bafy...(dag-pb CIDv1)
  • 通过我们上传的文件,其 CID 与任何现代工具(Helia、最新版 Kubo、ipfs-car)基于相同字节计算出的 CID 完全相同

向后兼容性

早期上传产生的旧版 Qm... CID 仍然完全可解析——网关、POST /pinGET /file/:cid、IPNS 解析器以及所有其他端点都会无限期地接受这两种格式。如果您有一个来自早期上传的 Qm... CID,您已构建的功能不会因此中断。