นักพัฒนา

ตัวสร้าง UUID

ต้องการ UUID สำหรับคีย์ฐานข้อมูล โทเค็น API หรือฟิกซ์เจอร์ทดสอบ? สร้าง UUID v4 ทีละตัวหรือเป็นชุด — สูงสุด 100 ครั้งเดียว — และคัดลอกไปยังคลิปบอร์ดโดยตรง

เครื่องมือนี้ช่วยคุณได้ไหม?

ตัวสร้าง 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 ที่มีอยู่แล้วถูกต้องและจัดรูปแบบถูกต้อง

ขั้นตอน:

  1. เลือกจำนวน UUID ที่จะสร้าง (1-100)
  2. คลิกปุ่มสร้าง UUID
  3. คัดลอก UUID แต่ละตัวหรือใช้คัดลอกทั้งหมด
  4. สลับคัดลอกอัตโนมัติเพื่อคัดลอกอัตโนมัติเมื่อสร้าง

สูตร

รูปแบบ 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 สำหรับการดำเนินการชุด การสร้างชุดทำงานทั้งหมดในเบราว์เซอร์ของคุณโดยไม่มีการสื่อสารเซิร์ฟเวอร์

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

UUID คืออะไร?
UUID (Universally Unique Identifier) คือตัวระบุ 128 บิตที่มาตรฐานโดย RFC 4122 UUID เวอร์ชัน 4 สร้างแบบสุ่มและรับประกันได้จริงว่าไม่ซ้ำกันทั่วระบบ
UUID ไม่ซ้ำกันแค่ไหน?
ไม่ซ้ำกันอย่างยิ่ง มี UUID v4 ที่เป็นไปได้ 5.3×10^36 ตัว ความน่าจะเป็นของการชนต่ำมากจนคุณสามารถสร้าง UUID 1 พันล้านตัวต่อวินาทีเป็นเวลา 100 ปีและยังมีความเสี่ยงการชนใกล้ศูนย์
UUID ใช้ทำอะไร?
UUID ใช้เป็นคีย์หลักฐานข้อมูล ตัวระบุทรัพยากร API โทเค็นเซสชัน ID ธุรกรรม และทุกที่ที่ต้องการตัวระบุที่ไม่ซ้ำกันโดยไม่มีอำนาจกลาง
UUID และ GUID ต่างกันอย่างไร?
GUID (Globally Unique Identifier) คือการใช้งานมาตรฐาน UUID ของ Microsoft พวกมันเหมือนกันในหน้าที่และใช้แทนกันได้
UUID รับประกันว่าไม่ซ้ำกันจริงหรือ?
ไม่มีมาตรฐาน UUID ใดรับประกันความไม่ซ้ำกันสัมบูรณ์ — แต่ความน่าจะเป็นของการชนกับ UUID v4 ต่ำมากจน astronomically (1 ใน 5.3×10^36) ถือว่าเป็นไปไม่ได้ในทางปฏิบัติ สำหรับอ้างอิง คุณต้องสร้าง UUID 1 พันล้านตัวต่อวินาทีเป็นเวลา 100 ปีจึงจะสามารถบรรลุ 50% ความน่าจะเป็นของการชน
ฉันควรใช้ UUID หรือจำนวนเต็มเพิ่มอัตโนมัติสำหรับคีย์หลัก?
UUID ดีกว่าสำหรับระบบกระจายเพราะสามารถสร้างได้อย่างอิสระบนโหนดใดก็ได้โดยไม่ต้องประสานงาน จำนวนเต็มง่ายกว่าและเล็กกว่า ทำให้ดีกว่าสำหรับแอปพลิเคชันฐานข้อมูลเดียวที่ลำดับสำคัญ UUID ยังไม่เปิดเผยข้อมูลเกี่ยวกับปริมาณข้อมูลของคุณ (ID ลำดับ 5,000 บอกผู้โจมตีว่าคุณมี 5,000 เรคคอร์ด)
ฉันสามารถเรียงลำดับ UUID ตามเวลาได้ไหม?
UUID v4 มาตรฐานเป็นแบบสุ่มและไม่สามารถเรียงลำดับตามเวลาได้ UUID v7 (มีในห้องสมุดใหม่กว่า) เข้ารหัส timestamp ในบิตที่มีนัยสำคัญที่สุด ทำให้เรียงลำดับตามเวลาได้ หากคุณต้องการ ID ที่ไม่ซ้ำกันเรียงตามเวลา พิจารณา UUID v7 หรือ ULID เป็นทางเลือกแทน v4
ความแตกต่างระหว่างการเก็บ UUID เป็นสตริงและไบนารีคืออะไร?
สตริงใช้ 36 อักขระ (36 ไบต์) ในขณะที่ไบนารีใช้ 16 ไบต์ การจัดเก็บไบนารีมีประสิทธิภาพมากกว่าสำหรับทั้งพื้นที่จัดเก็บและประสิทธิภาพดัชนี ฐานข้อมูลส่วนใหญ่สนับสนุนประเภทคอลัมน์เฉพาะ UUID ที่จัดการการแปลงไบนารีอัตโนมัติ ใช้ binary(16) ใน MySQL หรือประเภท uuid ดั้งเดิมใน PostgreSQL
ทำไมอักขระที่ 13 จึงเป็น '4' เสมอใน UUID v4?
อักขระที่ 13 ครอบครองบิต 48-51 ของ UUID ซึ่งเข้ารหัสหมายเลขเวอร์ชัน สำหรับเวอร์ชัน 4 บิตเหล่านี้ตั้งค่าเป็น 0100 ซึ่งเป็นเลขฐานสิบหก 4 นี่คือวิธีที่ตัวอ่าน UUID ใด ๆ ระบุ UUID เป็นเวอร์ชัน 4 (สุ่ม)
ปลอดภัยไหมที่จะสร้าง UUID ฝั่งไคลเอนต์?
สำหรับวัตถุประสงค์ที่ไม่เกี่ยวกับความปลอดภัย ใช่ สำหรับแอปพลิเคชันที่สำคัญต่อความปลอดภัย (โทเค็นเซสชัน คีย์ API โทเค็นรีเซ็ตรหัสผ่าน) ใช้ตัวสร้างสุ่มที่ปลอดภัยเชิงเข้ารหัสฝั่งเซิร์ฟเวอร์ Math.random() บนเบราว์เซอร์ไม่ปลอดภัยเชิงเข้ารหัส แม้ว่า crypto.getRandomValues() ของเบราว์เซอร์สมัยใหม่จะยอมรับได้สำหรับวัตถุประสงค์ส่วนใหญ่
ฉันสามารถสร้าง UUID ได้กี่ตัวครั้งเดียว?
ตัวสร้างนี้สนับสนุนสูงสุด 100 UUID ต่อชุด สำหรับชุดที่ใหญ่กว่า คุณสามารถรันตัวสร้างหลายครั้งหรือใช้สคริปต์ฝั่งเซิร์ฟเวอร์พร้อมไลบรารี UUID การสร้างทั้งหมดอยู่ฝั่งไคลเอนต์โดยไม่มีการร้องขอเครือข่าย ดังนั้นชุดจึงเสร็จเกือบทันที

ค้นพบเครื่องมือเพิ่มเติม

คัดสรรใหม่จากคลังเครื่องมือทั้งหมดของเรา