เครื่องมือสร้าง UUID

สร้างค่า UUID v4 แบบสุ่มเพื่อใช้ในฐานข้อมูล, API หรือการทดสอบ

จำนวน UUID ที่ต้องการสร้าง (1–10)

UUID

77fc542f-301a-4533-8bd9-d5c1de5ae759

UUID เพิ่มเติมไม่มี
เวอร์ชันv4 (สุ่ม)

วิธีใช้งานเครื่องมือสร้าง UUID นี้

  1. กำหนดจำนวน UUID

    ป้อนตัวเลข 1–10 ในช่องจำนวน UUID เพื่อระบุจำนวนรหัสที่ต้องการสร้าง

  2. สร้าง

    เครื่องคำนวณนี้สร้างค่า UUID v4 แบบสุ่มโดยใช้แหล่งข้อมูลสุ่มเชิงรหัสลับของเบราว์เซอร์

  3. คัดลอกผลลัพธ์

    คัดลอก UUID ที่สร้างขึ้นเพื่อใช้ในฐานข้อมูล, API payload หรือข้อมูลจำลองสำหรับการทดสอบ

ระเบียบวิธีคำนวณ

วิธีการทำงานของเครื่องมือสร้าง UUID นี้

เครื่องมือนี้สร้าง UUID เวอร์ชัน 4 โดยใช้การสุ่มของเบราว์เซอร์ ตัวระบุ UUID v4 เป็นค่าขนาด 128 บิตที่มีการกำหนดบิตเฉพาะเพื่อระบุเวอร์ชัน (4) และรูปแบบมาตรฐานที่ใช้ในข้อกำหนด UUID สมัยใหม่ เมื่อมี Web Crypto การสุ่มจะมีความแข็งแกร่งทางวิทยาการเข้ารหัส มิฉะนั้นเครื่องมือจะสลับไปใช้ตัวสร้างที่อ่อนแอกว่าเพื่อความสะดวกเท่านั้น

สูตร
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (โดยที่ y ∈ {8,9,a,b})
v4 เวอร์ชัน 4 สร้างขึ้นจากตัวเลขสุ่มหรือตัวเลขสุ่มเทียม
รูปแบบ รูปแบบบิต UUID มาตรฐานที่ใช้สำหรับฟิลด์ตัวแปร (บิต 8-9 ของไบต์ 8)
ตัวอย่าง

ตัวอย่างผลลัพธ์: 550e8400-e29b-41d4-a716-446655440000

การสร้าง 1 UUID จะให้ค่าเดียว เช่น a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d เลข 4 ในกลุ่มที่สามระบุว่าเป็นเวอร์ชัน 4

การสร้าง 3 UUID จะคืนค่าที่แตกต่างกันสามค่า โดยแต่ละค่ามีบิตสุ่ม 122 บิต ใช้เป็นคีย์หลักสำหรับระเบียนข้อมูลทดสอบหรือทรัพยากร API

ข้อสมมติฐาน
  • ใช้ API การสุ่มตัวเลขทางวิทยาการเข้ารหัสของเบราว์เซอร์เมื่อพร้อมใช้งาน
  • สลับไปใช้ Math.random() ในสภาพแวดล้อมที่ไม่มี Web Crypto ซึ่งเหมาะสำหรับความสะดวกแต่ไม่เหมาะสำหรับการใช้งานที่มีความปลอดภัยสูง
หมายเหตุ
  • UUID v4 ไม่ได้เรียงตามลำดับและไม่เหมาะสำหรับใช้เป็นคีย์หลักที่จัดเรียงได้ในฐานข้อมูลที่ได้ประโยชน์จากการแทรกข้อมูลแบบเรียงลำดับ

ทำความเข้าใจเวอร์ชันและโครงสร้างของ UUID

UUID (Universally Unique Identifier) คือค่าขนาด 128 บิตที่แสดงในรูปแบบเลขฐานสิบหก 32 หลัก แบ่งเป็นห้ากลุ่ม (8-4-4-4-12) UUID เวอร์ชัน 4 ใช้ข้อมูลแบบสุ่มหรือสุ่มเทียมสำหรับ 122 บิต ส่วนบิตที่เหลือจะระบุเวอร์ชัน (4) และตัวแปร (variant) โอกาสที่จะเกิดการซ้ำกันนั้นต่ำมากอย่างมหาศาล คือประมาณ 1 ใน 2^122 ดังนั้น UUID จึงมีความเฉพาะตัวโดยไม่ต้องมีการประสานงานกัน นอกจากนี้ยังมีเวอร์ชันอื่นๆ เช่น v1 ใช้การประทับเวลาและที่อยู่ MAC, v3 และ v5 เป็นแฮชตามชื่อ และ v7 จัดเรียงตามเวลา UUID v4 เป็นตัวเลือกที่นิยมที่สุดสำหรับระบบแบบกระจาย (distributed systems) เนื่องจากไม่ต้องการหน่วยงานกลางและไม่ต้องใช้สถานะร่วมกันในการสร้าง

กรณีการใช้งาน UUID สำหรับนักพัฒนา

นักพัฒนาใช้ UUID เป็นคีย์หลักในฐานข้อมูล, correlation IDs ใน distributed tracing และตัวระบุเฉพาะตัวใน API payloads ต่างจากเลขจำนวนเต็มแบบเพิ่มค่าอัตโนมัติ UUID สามารถสร้างได้จากฝั่งไคลเอนต์หรือบริการใดก็ได้โดยไม่ต้องติดต่อฐานข้อมูลกลาง ซึ่งช่วยให้การขยายระบบในแนวนอนและสถาปัตยกรรมแบบ offline-first ง่ายขึ้น UUID เหมาะอย่างยิ่งสำหรับกรณีการรวมข้อมูลที่หลายระบบสร้างระเบียนข้อมูลแล้วนำมารวมกันในภายหลัง นอกจากนี้ UUID ยังปรากฏในพารามิเตอร์สถานะ OAuth, ลายเซ็น webhook และการตั้งชื่อไฟล์เพื่อหลีกเลี่ยงการชนกันของข้อมูล ในการทดสอบ การสร้าง UUID ตามความต้องการช่วยหลีกเลี่ยงการเขียนโค้ดแบบตายตัวและทำให้ข้อมูลทดสอบสามารถทำซ้ำได้ ข้อเสียหลักคือขนาด (36 ตัวอักษร) และการไม่สามารถเรียงลำดับได้เมื่อเทียบกับ ID แบบลำดับ

คำถามที่พบบ่อย

UUID เหล่านี้ไม่ซ้ำกันใช่หรือไม่?

สำหรับการใช้งานจริงถือว่าใช่ โอกาสที่จะเกิดข้อมูลซ้ำนั้นน้อยมากจนแทบเป็นไปไม่ได้ (1 ใน 2^122)

สามารถนำไปใช้ในระบบจริง (production) ได้หรือไม่?

ใช่ เมื่อสภาพแวดล้อมมีการสุ่มแบบ Web Crypto หากหน้าเว็บทำงานโดยไม่มี API ดังกล่าวและสลับไปใช้ Math.random() ให้ถือว่าผลลัพธ์เป็นตัวระบุเพื่อความสะดวกมากกว่าการสุ่มระดับความปลอดภัย

เขียนโดย ยาน เครเนก ผู้ก่อตั้งและนักพัฒนาหลัก
ตรวจสอบโดย การตรวจสอบระเบียบวิธีของ DigitSum การตรวจสอบสูตรและ QA
อัปเดตล่าสุดเมื่อ 11 มี.ค. 2569

ใช้ข้อมูลนี้เพื่อการประมาณการเท่านั้น และควรตรวจสอบการตัดสินใจที่สำคัญกับผู้เชี่ยวชาญที่มีคุณสมบัติเหมาะสม

ข้อมูลที่ป้อนจะถูกเก็บไว้ในเบราว์เซอร์ เว้นแต่จะมีฟีเจอร์ในอนาคตแจ้งให้คุณทราบเป็นอย่างอื่น