- หน้าแรก
- โครงสร้างข้อมูล
โครงสร้างข้อมูล
Hexbon ไม่เพียงแต่เข้ารหัสข้อมูลของคุณเท่านั้น แต่ยังจัดโครงสร้างข้อมูลด้วย เรียนรู้เกี่ยวกับรูปแบบ JSON ที่จำเป็นและตรวจสอบข้อมูลของคุณเพื่อปลดล็อกประสบการณ์แบบโต้ตอบที่สมบูรณ์
บท
ทำไมโครงสร้างข้อมูลจึงสำคัญ
Hexbon เป็นมากกว่าเครื่องมือเข้ารหัส แต่เป็น ระบบจัดเก็บข้อมูลที่มีโครงสร้าง ข้อมูลของคุณจะถูกจัดระเบียบในรูปแบบลำดับชั้นที่ช่วยให้ใช้งานคุณสมบัติที่มีประสิทธิภาพ เช่น การจัดลำดับใหม่ด้วยการลากและวาง, การ์ดแบบโต้ตอบ, ระเบียนที่ขยายได้ และส่วนที่จัดระเบียบ
โครงสร้างเทียบกับการเข้ารหัส
เราสามารถถอดรหัสข้อมูลของคุณได้เสมอหากคุณระบุคีย์การเข้ารหัสที่ถูกต้อง อย่างไรก็ตาม หากข้อมูลของคุณไม่เป็นไปตามแนวทางโครงสร้างของเรา เราจะแสดงข้อมูลใน โหมดดิบ (raw mode) - คุณจะเห็นข้อมูล แต่จะไม่มีคุณสมบัติ UI แบบโต้ตอบ เช่น การ์ด, ระเบียน, ส่วน, การลากและวาง ฯลฯ
เอกสารนี้ระบุโครงสร้าง JSON ที่แม่นยำที่ Hexbon คาดหวัง การปฏิบัติตามโครงสร้างนี้จะช่วยให้มั่นใจได้ว่าข้อมูลของคุณเข้ากันได้กับคุณสมบัติแบบโต้ตอบของแดชบอร์ดของเราอย่างสมบูรณ์
ภาพรวมโครงสร้าง
ข้อมูล 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 | ใช่ | อาร์เรย์ของออบเจ็กต์ระเบียน (ว่างได้) |
| 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 | ใช่ | อาร์เรย์ของออบเจ็กต์ส่วน (ว่างได้) |
หมายเหตุ:
คุณสมบัติ data ประกอบด้วย "ส่วนต่างๆ" ไม่ใช่ข้อมูลดิบ การตั้งชื่อนี้เป็นเพราะเหตุผลทางประวัติศาสตร์ แต่ละรายการในอาร์เรย์ data คือออบเจ็กต์ส่วน
{
"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 | ใช่ | อาร์เรย์ของออบเจ็กต์ค่าที่มีข้อมูลของคุณ |
{
"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 หลักแบบเรียลไทม์ | ความลับ 2FA (เข้ารหัส 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
}
]
}
โหมดดิบ (Raw Mode)
หากข้อมูลที่ถอดรหัสของคุณไม่เป็นไปตามโครงสร้างที่คาดไว้ Hexbon จะแสดงข้อมูลนั้นอยู่ดี แต่จะอยู่ใน โหมดดิบ ซึ่งหมายความว่าคุณจะเห็นข้อมูลของคุณเป็น JSON ธรรมดาโดยไม่มีคุณสมบัติแบบโต้ตอบที่ข้อมูลที่มีโครงสร้างจัดให้
| คุณสมบัติ | โหมดมีโครงสร้าง | โหมดดิบ |
|---|---|---|
| กล่องการ์ดแบบโต้ตอบ | ||
| การจัดลำดับใหม่ด้วยการลากและวาง | ||
| การปิดบังความลับพร้อมสวิตช์เปิดเผย | ||
| การสร้างรหัส TOTP แบบเรียลไทม์ | ||
| การแก้ไขในที่และการบันทึกอัตโนมัติ | ||
| ปุ่มคัดลอกไปยังคลิปบอร์ด |
ข้อมูลของคุณปลอดภัยเสมอ
โหมดดิบมีผลเฉพาะกับ การนำเสนอ เท่านั้น ไม่ใช่ความปลอดภัย ข้อมูลของคุณจะถูกเข้ารหัส AES-256-GCM เสมอโดยไม่คำนึงถึงโครงสร้าง คุณเพียงแค่จะไม่ได้รับคุณสมบัติ UI แบบโต้ตอบหากโครงสร้างไม่ตรงกัน
ตรวจสอบโครงสร้างข้อมูลของคุณ
ใช้เครื่องมือตรวจสอบแบบโต้ตอบของเราเพื่อตรวจสอบโครงสร้างข้อมูลของคุณแบบเรียลไทม์
ลองใช้เครื่องมือตรวจสอบ