แปลงฟรี

UUID / GUID เครื่องกำเนิดไฟฟ้า

สร้างค่า UUID v4 (GUID) ทันทีในเบราว์เซอร์ของคุณ ฟรี เป็นส่วนตัวและฝั่งไคลเอ็นต์ — ไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ใดๆ

เกี่ยวกับเครื่องมือนี้

UUID (ตัวระบุที่ไม่ซ้ำแบบสากลหรือที่เรียกว่า GUID ในบริบทของ Microsoft) คือตัวระบุ 128 บิตที่สามารถสร้างได้อย่างอิสระทั่วทั้งระบบที่มีความน่าจะเป็นในการชนกันเล็กน้อย แบบฟอร์มมาตรฐานคืออักขระฐานสิบหก 32 ตัวในกลุ่ม 8-4-4-4-12 คั่นด้วยเครื่องหมายขีดกลาง (550e8400-e29b-41d4-a716-446655440000) มีหลายเวอร์ชันพร้อมกลยุทธ์การสร้างที่แตกต่างกัน v4 (สุ่ม) เป็นเรื่องธรรมดาที่สุด

UUID v4 ได้รับความเป็นเอกลักษณ์จากการสุ่ม 122 บิต (หกบิตได้รับการแก้ไขสำหรับเวอร์ชันและตัวแปร) ความน่าจะเป็นในการชนกันนั้นมีน้อยมากจนในทางปฏิบัติแล้ว UUID จะถูกมองว่ามีเอกลักษณ์เฉพาะทั่วโลกโดยไม่ต้องมีการประสานงานกัน — ทั้งสองระบบที่สร้าง UUID อย่างอิสระจะไม่สร้างการซ้ำซ้อนในช่วงเวลาที่สมจริงใดๆ

ตัวสร้างนี้สร้าง UUID v4 ในรูปแบบเลขฐานสิบหกพร้อมยัติภังค์มาตรฐาน การสุ่มมาจากตัวสร้างตัวเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัสของเบราว์เซอร์ (window.crypto.getRandomValues) ซึ่งเหมาะสำหรับวัตถุประสงค์ด้านความปลอดภัย รองรับการสร้างจำนวนมากสำหรับการกรอกอุปกรณ์ทดสอบหรือฐานข้อมูลการเพาะ

ทำไมต้องสร้าง UUID

UUID ช่วยให้ระบบแบบกระจายสร้างตัวระบุโดยไม่ต้องประสานงานกับฐานข้อมูลกลาง แต่ละบริการสามารถสร้าง ID ในพื้นที่โดยไม่ต้องเดินทางไปกลับที่เคาน์เตอร์ และ ID ที่ได้นั้นรับประกันว่าจะไม่ขัดแย้งกับ ID ที่สร้างจากที่อื่น ซึ่งช่วยให้สถาปัตยกรรมขยายขนาดได้ โดยที่การสร้าง ID ไม่ใช่ปัญหาคอขวด

UUID ยังทำให้ ID ไม่สามารถคาดเดาได้ ข้อมูล ID ตัวเลขตามลำดับรั่วไหล — จำนวนผู้ใช้ทั้งหมด อายุบัญชี ความเร็วในการสมัคร UUID ไม่เปิดเผยอะไรเลย API ที่เปิดเผย ID แก่ผู้ใช้จะได้รับประโยชน์จาก UUID ทั้งด้านความปลอดภัยและความเข้ากันได้ในการส่งต่อกับแบ็กเอนด์ที่แบ่งส่วน

วิธีใช้งาน

คลิกสร้าง รับ v4 UUID

  1. เลือกนับ: สร้าง UUID ครั้งละหนึ่งรายการ หรือสร้างจำนวนมากเพื่อกรอกข้อมูลทดสอบจำนวนมาก
  2. เลือกรูปแบบ: รูปแบบมาตรฐานที่มีเครื่องหมายขีดกลาง (550e8400-e29b-41d4-a716-446655440000) เป็นค่าเริ่มต้น นอกจากนี้ยังมีรูปแบบกะทัดรัด (ไม่มีขีดกลาง) ตัวพิมพ์ใหญ่ และแบบมีปีกกา {550e8400-...} อีกด้วย
  3. สร้าง: crypto.randomUUID() ของเบราว์เซอร์ (หรือทางเลือก v4 โดยใช้ crypto.getRandomValues) จะสร้าง UUID ใหม่ แต่ละรุ่นมีความเป็นอิสระและไม่ได้กำหนดไว้
  4. คัดลอกหรือดาวน์โหลด: คัดลอก UUID เดี่ยวไปยังคลิปบอร์ดหรือดาวน์โหลดรายการจำนวนมากเป็นข้อความหรือ CSV

กรณีการใช้งานทั่วไป

รายละเอียดทางเทคนิค

UUID คือ 128 บิต ซึ่งแสดงเป็นเลขฐานสิบหก 32 หลักในห้ากลุ่มคั่นด้วยเครื่องหมายขีดกลาง การจัดกลุ่ม (8-4-4-4-12) เป็นเพียงการตกแต่งเท่านั้น ค่าเป็นจำนวนเต็ม 128 บิตเดียว v4 UUID เข้ารหัสการสุ่ม 122 บิตโดยส่วนที่เหลืออีก 6 บิตคงที่: ฟิลด์เวอร์ชัน (4 บิต ค่า 4) ระบุตัวแปร

การสนับสนุนเบราว์เซอร์: crypto.randomUUID() มีอยู่ในเบราว์เซอร์สมัยใหม่ (Chrome 92+, Firefox 95+, Safari 15.4+) และสร้าง UUID v4 ได้โดยตรง เบราว์เซอร์รุ่นเก่าจะกลับไปรวมไบต์สุ่ม 16 ไบต์ด้วยตนเองจาก crypto.getRandomValues ​​โดยตั้งค่าบิตเวอร์ชัน/ตัวแปรอย่างถูกต้อง

ความน่าจะเป็นของการชนกัน: ด้วย UUID แบบสุ่มที่เป็นไปได้ 2^122 รายการ โอกาสในการสร้างค่าที่เหมือนกันสองค่านั้นน้อยมาก แม้จะสร้าง UUID ขึ้นมา 10^9 หน่วย ความน่าจะเป็นของการชนกันครั้งเดียวก็ยังอยู่ที่ประมาณ 10^-18 ซึ่งมีโอกาสน้อยกว่าการเลือกอะตอมบนโลกโดยการสุ่มประมาณ 10 ล้านล้านเท่า

แนวทางปฏิบัติที่ดีที่สุด

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

UUID คืออะไร?
UUID (Universally Unique Identifier) คือป้ายกำกับ 128 บิตที่ใช้เพื่อระบุข้อมูลโดยไม่ซ้ำกันโดยไม่มีการประสานงานระหว่างฝ่ายต่างๆ UUID v4 ดูเหมือนว่า: 550e8400-e29b-41d4-a716-446655440000 แทบจะรับประกันได้ว่าจะไม่ซ้ำกันในทุกระบบทั่วโลก
UUID สองตัวจะเหมือนกันหรือไม่
เป็นไปได้ในทางทฤษฎี แต่ในทางปฏิบัติเป็นไปไม่ได้ UUID v4 มีค่าที่เป็นไปได้ 2^122 ค่า (5.3 × 10^36) คุณจะต้องสร้าง 1 พันล้าน UUID ต่อวินาทีเป็นเวลา 100 ปีจึงจะมีโอกาส 50% ที่จะเกิดการชนกันเพียงครั้งเดียว
เมื่อใดที่ฉันควรใช้ UUID เทียบกับ ID ที่เพิ่มขึ้นอัตโนมัติ
UUID จะดีกว่าสำหรับระบบแบบกระจาย แอปที่เน้นออฟไลน์เป็นอันดับแรก และเมื่อคุณไม่ต้องการให้ ID เปิดเผยข้อมูล (เช่น จำนวนผู้ใช้) การเพิ่มอัตโนมัตินั้นง่ายกว่า กะทัดรัดกว่า และเร็วกว่าสำหรับการจัดทำดัชนีฐานข้อมูล
UUID เหล่านี้มีความปลอดภัยแบบเข้ารหัสหรือไม่
เครื่องมือนี้ใช้ crypto.getRandomValues() ซึ่งให้ตัวเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัส UUID v4 เหมาะสำหรับโทเค็นเซสชันและตัวระบุ แต่สำหรับแอปพลิเคชันที่มีความปลอดภัยสูง ให้พิจารณาใช้ตัวสร้างโทเค็นที่สร้างขึ้นตามวัตถุประสงค์
แล้ว UUID v5 หรือ v7 ล่ะ?
v5 ได้รับ UUID ตามที่กำหนดจากชื่อภายในเนมสเปซ (มีประโยชน์สำหรับ ID ที่ระบุแอดเดรสเนื้อหาได้) v7 (ใหม่กว่า 2022) นำหน้าการประทับเวลาระดับมิลลิวินาทีสำหรับการเรียงลำดับเวลาด้วยพจนานุกรม ตัวสร้างนี้เน้นที่ v4; สามารถเพิ่มเวอร์ชันเฉพาะได้หากจำเป็น
UUID คำนึงถึงขนาดตัวพิมพ์หรือไม่
ตามข้อกำหนดแล้ว no — เลขฐานสิบหกตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเทียบเท่ากัน เครื่องกำเนิดไฟฟ้าส่วนใหญ่จะสร้างตัวพิมพ์เล็กตามค่าเริ่มต้น การเปรียบเทียบควรคำนึงถึงขนาดตัวพิมพ์
การสร้างเสร็จสิ้นในเบราว์เซอร์ของฉันหรือไม่?
ใช่. UUID ถูกสร้างขึ้นฝั่งไคลเอ็นต์โดยใช้ crypto API ของเบราว์เซอร์
ฉันสามารถจัดเรียง UUID ตามเวลาที่สร้างได้หรือไม่
ไม่ใช่สำหรับ v4 — โครงสร้างแบบสุ่มไม่มีเวลาเรียงลำดับ สำหรับ UUID ที่จัดเรียงตามเวลา ให้ใช้ v7 (หรือเวอร์ชันก่อนหน้า v1 หากคุณยอมรับผลกระทบด้านความเป็นส่วนตัว)