- 首页
- 数据结构
数据结构
Hexbon 不仅加密您的数据 - 还对其进行结构化。了解所需的 JSON 格式并验证您的数据,以解锁完整的交互式体验。
为什么数据结构很重要
Hexbon 不仅仅是一个加密工具 - 它是一个结构化数据存储系统。您的数据被组织成层次格式,支持拖放重排序、交互式卡片、可展开记录和有组织的分区等强大功能。
结构与加密
如果您提供正确的加密密钥,我们始终可以解密您的数据。但是,如果您的数据不遵循我们的结构指南,我们将以原始模式显示它 - 您可以看到数据,但无法使用卡片、记录、分区、拖放等交互式 UI 功能。
本文档解释了 Hexbon 期望的精确 JSON 结构。遵循此结构可确保您的数据与我们的交互式仪表板功能完全兼容。
结构概述
Hexbon 数据遵循严格的层次结构。理解这种层次结构是正确组织数据的关键。
数据层次结构
{ "cards": [...] }
{
"title": "Personal",
"records": [...],
"updated_at": 1763938832
}
{
"title": "Gmail",
"data": [...]
}
{
"name": "Login",
"values": [...]
}
{
"value": "secret123",
"type": "secret"
}
| 属性 | 必填 | 适用于 |
|---|---|---|
| cards | 是 | 根对象 |
| title | 是 | 卡片、记录 |
| records | 是 | 卡片 |
| data | 是 | 记录(分区数组) |
| name | 是 | 分区 |
| values | 是 | 分区 |
| value | 是 | 值 |
| type | 是 | 值 (secret, note, totp, link, email) |
| id | 否 | 值(用于排序) |
| updated_at | 否 | 卡片(时间戳) |
卡片
卡片是仪表板中的顶级容器。每张卡片显示为可点击的磁贴,可以展开以显示其记录。卡片可以通过拖放重新排序。
{
"title": "string", // Required: Card name displayed on tile
"records": [], // Required: Array of Record objects
"updated_at": 1763938832 // Optional: Unix timestamp of last update
}
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| title | string | 是 | 显示在卡片磁贴上的名称 |
| records | array | 是 | Record 对象数组(可为空) |
| updated_at | integer | 否 | 用于"最后更新"显示的 Unix 时间戳 |
{
"title": "Work Credentials",
"records": [
// Record objects go here...
],
"updated_at": 1763938832
}
记录
记录是卡片内的条目。当打开卡片时,它们会出现在左侧边栏中,可以选择查看其分区。将记录视为单独的项目或条目(例如"Gmail 账户"、"工作 VPN"、"数据库凭据")。
{
"title": "string", // Required: Record name displayed in sidebar
"data": [] // Required: Array of Section objects
}
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| title | string | 是 | 显示在记录列表中的名称 |
| data | array | 是 | Section 对象数组(可为空) |
注意:
data 属性包含"分区",而不是原始数据。这种命名是出于历史原因。data 数组中的每个项目都是一个 Section 对象。
{
"title": "Gmail Account",
"data": [
{
"name": "Login Details",
"values": [
// Value objects go here...
]
}
]
}
分区
分区在记录内对相关值进行分组。它们提供了一个组织层,有助于对不同类型的信息进行分类(例如"登录详情"、"恢复选项"、"API 密钥")。每个分区都有一个名称并包含多个值。
{
"name": "string", // Required: Section heading/label
"values": [] // Required: Array of Value objects
}
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| name | string | 是 | 显示在值上方的分区标题 |
| values | array | 是 | 包含您数据的 Value 对象数组 |
{
"name": "Login Details",
"values": [
{
"value": "user@example.com",
"type": "note",
"id": "value_1763938238781_3jh5i3r20"
},
{
"value": "supersecretpassword123",
"type": "secret",
"id": "value_1763938251026_fvjeq1vg9"
}
]
}
值
值是实际的数据条目 - 您存储的密码、笔记和 TOTP 代码。每个值都有一个类型,决定了它在 UI 中的显示方式和交互方式。
{
"value": "string", // Required: The actual content
"type": "secret" | "note" | "totp" | "link" | "email" | "username", // Required
"id": "string" // Optional: Unique identifier for sorting
}
| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| value | string | 是 | 实际内容(密码、笔记文本、TOTP 密钥) |
| type | string | 是 | 以下之一:"secret"、"note"、"totp"、"link"、"email" 或 "username" |
| id | string | 否 | 用于排序和引用的唯一标识符 |
值类型
| 类型 | 显示 | 使用场景 |
|---|---|---|
| "secret" | 默认隐藏(•••••),点击显示 | 密码、API 密钥、敏感数据 |
| "note" | 始终可见的纯文本 | 用户名、电子邮件、URL、非敏感信息 |
| "totp" | 生成实时 6 位验证码 | 双因素认证密钥(Base32 编码) |
| "link" | 可点击的超链接 | URL、网站地址 |
| "email" | 带 mailto 链接的电子邮件地址 | 电子邮件地址 |
| "username" | 带用户图标的始终可见纯文本 | 用户名、账户标识符 |
// Secret value (hidden by default)
{
"value": "MySecurePassword123!",
"type": "secret",
"id": "value_1763938251026_fvjeq1vg9"
}
// Note value (always visible)
{
"value": "user@example.com",
"type": "note",
"id": "value_1763938238781_3jh5i3r20"
}
// TOTP value (generates 2FA codes)
{
"value": "JBSWY3DPEHPK3PXP",
"type": "totp",
"id": "value_1763938267595_kaecs9y31"
}
// Username value (visible text with user icon)
{
"value": "john_doe_123",
"type": "username",
"id": "value_1763938289412_xm2kp7v91"
}
完整示例
这是一个完整有效的数据结构,展示了包含多个卡片、记录、分区和不同值类型的完整层次结构。
{
"cards": [
{
"title": "Personal Accounts",
"records": [
{
"title": "Gmail",
"data": [
{
"name": "Login Details",
"values": [
{
"value": "myemail@gmail.com",
"type": "note"
},
{
"value": "SuperSecretPassword123",
"type": "secret"
}
]
},
{
"name": "2FA",
"values": [
{
"value": "JBSWY3DPEHPK3PXP",
"type": "totp"
}
]
}
]
},
{
"title": "GitHub",
"data": [
{
"name": "Account",
"values": [
{
"value": "myusername",
"type": "note"
},
{
"value": "gh_token_abc123xyz",
"type": "secret"
}
]
}
]
}
],
"updated_at": 1763938832
},
{
"title": "Work",
"records": [
{
"title": "VPN Access",
"data": [
{
"name": "Credentials",
"values": [
{
"value": "vpn.company.com",
"type": "note"
},
{
"value": "john.doe",
"type": "note"
},
{
"value": "VpnP@ssw0rd!",
"type": "secret"
}
]
}
]
}
],
"updated_at": 1763856530
}
]
}
原始数据模式
如果您的解密数据不遵循预期结构,Hexbon 仍会显示它 - 但以原始模式显示。这意味着您将看到数据作为纯 JSON,而没有结构化数据提供的交互功能。
| 功能 | 结构化模式 | 原始模式 |
|---|---|---|
| 交互式卡片磁贴 | ||
| 拖放重排序 | ||
| 密码遮罩与显示切换 | ||
| 实时 TOTP 代码生成 | ||
| 原位编辑和自动保存 | ||
| 复制到剪贴板按钮 |
您的数据始终安全
原始模式仅影响显示,不影响安全性。无论结构如何,您的数据始终使用 AES-256-GCM 加密。只是如果结构不匹配,您将无法获得交互式 UI 功能。