ข้ามไปยังเนื้อหาหลัก

สร้างค่า UUID v4 แบบสุ่ม

UUID เวอร์ชัน 4 เป็นค่าขนาด 128 บิต โดย 122 บิตมาจากแหล่งสุ่มที่ปลอดภัยตามหลักวิทยาการเข้ารหัส อีก 6 บิตระบุเวอร์ชันและตัวแปร RFC ดังนั้นกลุ่มที่สามของ UUID v4 ทุกค่าจึงขึ้นต้นด้วย 4

ตัวอย่างการคำนวณ

ไบต์สุ่มที่ใช้เป็นอินพุต
9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
ผลลัพธ์
9d417c02-e85b-43f6-aa7e-c19406d3b85f
จำนวน UUID ที่สร้างโอกาสที่จะซ้ำกันอย่างน้อยหนึ่งค่า
10⁶≈ 9.4 × 10⁻²⁶
10⁹≈ 9.4 × 10⁻²⁰
10¹²≈ 9.4 × 10⁻¹⁴
10¹⁵≈ 9.4 × 10⁻⁸

จำนวน UUID ที่ทำให้โอกาสซ้ำเป็น 50%: ≈ 2.71 × 10¹⁸

หลักการทำงาน

  • เครื่องสร้างจะเติม 16 ไบต์ด้วยข้อมูลสุ่มที่ปลอดภัย แล้วตั้งค่านิบเบิลบนของไบต์ที่ 6 เป็น 4 (เวอร์ชัน) และสองบิตบนสุดของไบต์ที่ 8 เป็น 10 (ตัวแปร) กลุ่มที่สามจึงขึ้นต้นด้วย 4 และกลุ่มที่สี่ขึ้นต้นด้วย 8, 9, a หรือ b
  • เมื่อมีค่าที่เป็นไปได้ 2¹²² ค่า สูตรประมาณปัญหาวันเกิด p ≈ 1 − e^(−n²/2¹²³) จะให้ความน่าจะเป็นที่ UUID สุ่ม n ค่าจะมีค่าซ้ำอย่างน้อยหนึ่งค่า
  • UUID v4 ไม่เปิดเผยเวลาหรือข้อมูลฮาร์ดแวร์ ใช้เป็นตัวระบุเท่านั้น ไม่ควรใช้เป็นรหัสผ่านหรือค่าลับสำหรับยืนยันตัวตน
เวอร์ชัน UUID

สร้าง 1-100 UUID พร้อมกัน

เกี่ยวกับ UUID

UUID v1: UUID ตามเวลาที่รวมไทม์สแตมป์และที่อยู่ MAC ของคอมพิวเตอร์ที่สร้าง UUID มีประโยชน์เมื่อคุณต้องการทราบว่า UUID ถูกสร้างขึ้นเมื่อใด

UUID v4: UUID ที่สร้างแบบสุ่ม นี่คือเวอร์ชันที่ใช้กันมากที่สุดและให้ความไม่ซ้ำที่ดีพร้อมการรั่วไหลของข้อมูลน้อยที่สุด

UUID v5: UUID ตามชื่อโดยใช้การแฮช SHA-1 ด้วยเนมสเปซและชื่อเดียวกัน คุณจะได้รับ UUID เดียวกันเสมอ มีประโยชน์สำหรับการสร้าง UUID แบบกำหนดได้

คู่มือ UUID อื่น ๆ