สร้างตัวระบุ UUID v5 จาก namespace UUID และชื่อโดยไม่ส่งค่าใดไปยังเซิร์ฟเวอร์ UUID v5 มีประโยชน์เมื่อคุณต้องการตัวระบุที่คงที่ซึ่งสามารถสร้างซ้ำในภายหลังจากอินพุตเดิมได้ เช่น ID สำหรับชื่อโดเมน, URL, พาธอ็อบเจ็กต์, ชื่อบัญชี หรือระเบียน fixture
How UUID v5 Works
UUID v5 รวม namespace UUID เข้ากับสตริงชื่อ แฮชไบต์เหล่านั้นด้วย SHA-1 จากนั้นใช้บิตเวอร์ชันและ variant ตาม RFC 4122 เพราะอินพุตเป็นแบบกำหนดผลได้คงเดิม example.com ภายใน namespace DNS จึงให้ UUID เดิมเสมอ: cfbff0d1-9375-5685-968c-48ce8b15ae17
Choosing A Namespace
ใช้ ns:DNS สำหรับชื่อโดเมน, ns:URL สำหรับ URL, ns:OID สำหรับ object identifiers และ ns:X.500 DN สำหรับชื่อจำแนกแบบ X.500 คุณยังสามารถวาง namespace UUID ของคุณเองได้เมื่อแอปพลิเคชันต้องการตัวระบุที่จำกัดขอบเขตตามผลิตภัณฑ์ ผู้เช่า ชุดข้อมูล หรือการย้ายข้อมูล
When To Use It
เลือก UUID v5 เมื่อความสามารถในการสร้างซ้ำสำคัญกว่าความสุ่ม เหมาะกับการนำเข้าแบบกำหนดผลได้คงเดิม, fixture สำหรับทดสอบ, ระเบียนที่มี namespace และระบบที่ต้องการให้รายการเชิงตรรกะเดียวกันได้รับ ID เดิมในทุกครั้งที่รัน สำหรับโทเค็นลับหรือ ID สาธารณะที่คาดเดาไม่ได้ ให้ใช้ตัวสร้างแบบสุ่มแทน