ตัวสร้าง UUID คืออะไร?
ตัวสร้าง UUID (ตัวระบุที่เป็นสากลและไม่ซ้ำกัน) สร้าง UUID เวอร์ชัน 4 แบบสุ่ม — ตัวระบุ 128 บิตที่แทบจะไม่ซ้ำกันในทุกระบบทั่วโลก UUID แต่ละตัวเป็นไปตามรูปแบบมาตรฐาน 8-4-4-4-12 (36 อักขระพร้อมเครื่องหมายขีด) ทำให้อ่าน เก็บ และส่งได้ง่าย ตัวเลขเวอร์ชัน (ตำแหน่งที่ 13) เสมอ 4 และตัวเลขตัวแปร (ตำแหน่งที่ 17) เสมอ 8, 9, A หรือ B ซึ่งรับรองการปฏิบัติตาม RFC 4122 อย่างสมบูรณ์ สร้าง 1 ถึง 100 UUID พร้อมกันสำหรับคีย์หลักฐานข้อมูล โทเค็น API ตัวระบุเซสชัน ข้อมูลทดสอบ หรือแอปพลิเคชันใดก็ตามที่ต้องการตัวระบุที่ไม่ซ้ำกันโดยไม่ต้องประสานงานกับหน่วยงานส่วนกลาง
เมื่อไหร่ควรใช้เครื่องคำนวณนี้
- คุณต้องการตัวระบุที่ไม่ซ้ำกันสำหรับคีย์หลักฐานข้อมูลในระบบกระจาย
- คุณกำลังสร้างตัวระบุทรัพยากร API ที่ต้องไม่ซ้ำกันทั่วโลกโดยไม่มีอำนาจกลาง
- คุณต้องการฟิกซ์เจอร์ทดสอบที่มี ID ไม่ซ้ำกันสำหรับการทดสอบหน่วยหรือการรวม
- คุณกำลังสร้างระบบจัดการเซสชันที่ต้องการการสร้างโทเค็นที่ไม่ซ้ำกัน
- คุณต้องสร้างตัวระบุที่ไม่ซ้ำกันหลายตัวเป็นชุดสำหรับการย้ายหรือนำเข้าข้อมูล
- คุณต้องการตรวจสอบว่า UUID ที่มีอยู่แล้วถูกต้องและจัดรูปแบบถูกต้อง
ขั้นตอน:
- เลือกจำนวน UUID ที่จะสร้าง (1-100)
- คลิกปุ่มสร้าง UUID
- คัดลอก UUID แต่ละตัวหรือใช้คัดลอกทั้งหมด
- สลับคัดลอกอัตโนมัติเพื่อคัดลอกอัตโนมัติเมื่อสร้าง
สูตร
รูปแบบ UUID v4: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
โดยที่ x เป็นเลขฐานสิบหกสุ่ม และ y เป็นหนึ่งใน 8, 9, A หรือ B (รูปแบบ RFC 4122)
ชุดค่าผสมทั้งหมด: ~5.3 × 10^36
กรณีใช้งาน
- คีย์หลักฐานข้อมูลสำหรับระบบกระจาย
- ตัวระบุทรัพยากร API
- โทเค็นเซสชันผู้ใช้
- ID คำสั่งซื้อและธุรกรรม
ประโยชน์หลัก
- สร้าง 1–100 UUID ทันทีด้วยการคลิกเดียว
- คัดลอก UUID รายหรือแบบชุดไปยังคลิปบอร์ดด้วยการคลิกเดียว
- โหมดคัดลอกอัตโนมัติสำหรับการบูรณาการขั้นตอนการทำงานที่ราบรื่น
- ฟรีโดยสมบูรณ์ไม่ต้องลงทะเบียน บัญชี หรือการเชื่อมต่อเซิร์ฟเวอร์
- การสร้างฝั่งไคลเอนต์ทำให้มั่นใจว่า UUID ของคุณจะไม่ออกจากเบราว์เซอร์
- รูปแบบที่เข้ากันได้ทั่วโลก (RFC 4122) ใช้งานได้กับฐานข้อมูลและเฟรมเวิร์กหลักทั้งหมด
เคล็ดลับ
- ใช้ UUID v4 สำหรับตัวระบุที่ไม่ซ้ำกันแบบทั่วไปที่ไม่ต้องการการเรียงลำดับตามเวลา
- เก็บ UUID เป็น binary(16)ในฐานข้อมูลแทนที่จะเป็นสตริงเพื่อประหยัดพื้นที่จัดเก็บ 50% และปรับปรุงประสิทธิภาพดัชนี
- ใช้ UUID v7 หรือ ULID หากคุณต้องการตัวระบุที่ไม่ซ้ำกันเรียงตามเวลา
- อย่าสร้าง UUID ฝั่งไคลเอนต์สำหรับแอปพลิเคชันที่สำคัญต่อความปลอดภัย — ใช้ CSPRNG ฝั่งเซิร์ฟเวอร์แทน
- เมื่อย้ายจาก auto-increment ID ให้เพิ่มคอลัมน์ UUID ข้างคอลัมน์จำนวนเต็มที่มีอยู่เพื่อหลีกเลี่ยงการหยุดชะงัก
ข้อผิดพลาดที่พบบ่อย
- ใช้ ID ที่เพิ่มขึ้นอัตโนมัติแทน UUID ในระบบกระจายที่โหนดสร้าง ID อย่างอิสระ
- สันนิษฐานว่า UUID สามารถเรียงลำดับตามเวลาได้ — UUID เวอร์ชัน 4 มาตรฐานเป็นแบบสุ่ม ใช้ UUID v7 หรือ ULID สำหรับตัวระบุที่เรียงตามเวลา
- เก็บ UUID เป็นสตริง 36 อักขระแทนที่จะเป็นไบนารี 16 ไบต์ ทำให้เสียพื้นที่ 55% และทำให้ประสิทธิภาพดัชนีแย่ลง
- พึ่งพา Math.random() ฝั่งไคลเอนต์สำหรับการสร้าง UUID ที่ปลอดภัย — ไม่ปลอดภัยทาง cryptography
คำศัพท์สำคัญ
- UUID: ตัวระบุที่เป็นสากลและไม่ซ้ำกัน — ตัวระบุ 128 บิตที่ได้รับมาตรฐานจาก RFC 4122
- UUID v4: UUID เวอร์ชัน 4 แบบสุ่ม — เวอร์ชันที่ใช้กันทั่วไป สร้างจาก 122 บิตแบบสุ่ม
- GUID: Globally Unique Identifier — การนำมาตรฐาน UUID ไปใช้งานของ Microsoft ซึ่งทำงานเหมือนกันทุกประการ
- RFC 4122: เอกสารมาตรฐาน IETF ที่กำหนดรูปแบบ UUID เวอร์ชัน และโครงสร้างฟิลด์ตัวแปร
- CSPRNG: เครื่องสร้างตัวเลขหลอกแบบสุ่มที่ปลอดภัยทาง cryptography — จำเป็นสำหรับการสร้าง UUID ในบริบทความปลอดภัย
แนวคิดที่เกี่ยวข้อง
- UUID เวอร์ชัน 4: UUID ที่สร้างจากบิตสุ่มทั้งหมด โดยฟิลด์เวอร์ชันตั้งค่าเป็น 0100 (4) และบิตรูปแบบตั้งค่าตาม RFC 4122
- GUID (Globally Unique Identifier): การใช้งานมาตรฐาน UUID ของ Microsoft เหมือนกันในหน้าที่กับ UUID v4
- RFC 4122: เอกสารมาตรฐานที่กำหนดรูปแบบ UUID เวอร์ชัน และฟิลด์รูปแบบสำหรับโครงสร้าง UUID
- การชน: เหตุการณ์ที่หายากอย่างยิ่งที่ UUID สองตัวที่สร้างอย่างอิสระเหมือนกัน — ด้วย UUID v4 ความน่าจะเป็นประมาณ 1 ใน 5.3×10^36
- UUID v7: เวอร์ชัน UUID ที่ใหม่กว่าซึ่งเข้ารหัส timestamp Unix ในบิตที่มีนัยสำคัญที่สุด ทำให้ UUID เรียงตามเวลาและเรียงลำดับได้ขณะยังคงไม่ซ้ำกัน
ตัวอย่าง
UUID ที่สร้าง: 550e8400-e29b-41d4-a716-446655440000 — UUID v4 มาตรฐานที่มี 4 ในตำแหน่งที่ 13 แสดงเวอร์ชัน 4 และ "a" ในตำแหน่งที่ 17 แสดงรูปแบบ RFC 4122
การตีความผลลัพธ์
ตัวสร้างสร้าง UUID เวอร์ชัน 4 ซึ่งเป็นตัวระบุสุ่ม 128 บิตที่เป็นไปตามรูปแบบฐานสิบหกมาตรฐาน 8-4-4-4-12 (36 อักขระรวมยัติภังค์) เวอร์ชัน 4 หมายความว่าบิตทั้งหมด ยกเว้นตัวบ่งชี้เวอร์ชันและรูปแบบ เป็นแบบสุ่ม ให้ความไม่ซ้ำกันสูงสุดที่เป็นไปได้โดยไม่ต้องประสานงานระหว่างระบบ
UUID ที่สร้างมีเครื่องหมายโครงสร้างเฉพาะ: อักขระที่ 13 เป็น 4 เสมอ (แสดงเวอร์ชัน 4) และอักขระที่ 17 เป็น 8, 9, A หรือ B เสมอ (แสดงรูปแบบ RFC 4122) เครื่องหมายเหล่านี้แยก UUID v4 ออกจากเวอร์ชันอื่นและรับรองการปฏิบัติตามมาตรฐาน
ใช้ฟีเจอร์คัดลอกอัตโนมัติเมื่อคุณต้องสร้าง UUID ทีละตัวระหว่างการพัฒนา — UUID แต่ละตัวคัดลอกไปยังคลิปบอร์ดทันทีเมื่อสร้าง ใช้คัดลอกทั้งหมดเมื่อคุณต้องการชุด UUID สำหรับการดำเนินการชุด การสร้างชุดทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยไม่มีการสื่อสารเซิร์ฟเวอร์

