ฉันต้องการ UUID งานของคุณคือการสร้าง
canonical UUID (Universally Unique IDentifier) เป็นเลขฐานสิบหก 32 หลักพร้อมเครื่องหมายขีดคั่นในบางจุดโปรแกรมควรแสดงผลตัวเลขฐานสิบหก 32 (128 บิต) ในรูปแบบของxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx( 8-4-4-4-12หลัก) ซึ่งxเป็นเลขฐานสิบหกแบบสุ่ม สมมติว่า PRNG ของภาษาคุณสมบูรณ์แบบผลลัพธ์ที่ถูกต้องทั้งหมดจะต้องมีความน่าจะเป็นเหมือนกัน
TL; DR
สร้างตัวเลขฐานสิบหกแบบสุ่ม 32 หลักในรูปแบบ8-4-4-4-12หลัก รหัสที่สั้นที่สุดชนะ
แก้ไข: ต้องเป็นเลขฐานสิบหก การสร้างทศนิยมเพียงอย่างเดียวไม่ถูกต้องเสมอไป แก้ไข 2: ไม่มีบิวด์อิน นี่ไม่ใช่ GUID เพียงแค่เลขฐานสิบหกทั่วไป
ตัวอย่างผลลัพธ์:
ab13901d-5e93-1c7d-49c7-f1d67ef09198
7f7314ca-3504-3860-236b-cface7891277
dbf88932-70c7-9ae7-b9a4-f3df1740fc9c
c3f5e449-6d8c-afe3-acc9-47ef50e7e7ae
e9a77b51-6e20-79bd-3ee9-1566a95d9ef7
7b10e43c-3c57-48ed-a72a-f2b838d8374b
อินพุตและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ นอกจากนี้อย่าลังเลที่จะขอคำชี้แจง
12345678-1234-1234-1234-123456789012ควรเป็น UUID ที่ถูกต้อง (หรือเป็นเลขฐานสิบหกที่จำเป็น?) คุณคิดว่านี่เป็นช่องโหว่หรือไม่?