AliceLiumWork Smarter · Finish Faster

สร้าง UUID (v4 และ v7)

สุ่ม UUID ทีละ 1/10/100 ตัว เลือกได้ทั้งแบบสุ่มล้วน v4 และแบบเรียงตามเวลา v7 — สร้างในเครื่องคุณเอง

เข้าสู่ระบบเพื่อใช้เครื่องมือนี้ — ฟรี

สมัครฟรีในไม่ถึงนาที ไม่ต้องใส่บัตรเครดิต — แล้วใช้ได้ทั้ง 196 เครื่องมือ

ไม่มีลายน้ำ เก็บเครื่องมือที่ใช้บ่อย
เริ่มด้วย Google
ฟรี ไม่มีโฆษณา

ทุกบัญชีได้เครดิตฟรีวันละ 5 สะสมได้ถึง 15 · งานละ 1 เครดิต

ทำงานในเครื่องคุณ ไฟล์ไม่ถูกอัปโหลด เห็นผลทันที ไม่ต้องรอคิว หักเครดิต 1 ต่อการใช้หนึ่งครั้ง · ไม่มีเน็ตก็ใช้ได้และไม่หัก
ติดตรงไหน?
1

ใส่ข้อมูล พิมพ์หรือวางลงในช่อง — ไม่ต้องอัปโหลด ไม่ต้องรอคิว

2

เห็นผลทันที ผลลัพธ์อัปเดตตอนพิมพ์ เพราะคำนวณในเครื่องคุณเอง

3

คัดลอกไปใช้ กดคัดลอกแล้ววางต่อได้เลย ปิดหน้าเว็บแล้วข้อมูลหายไปพร้อมกัน

อยากพิสูจน์เอง? ปิด Wi-Fi หรือถอดสายเน็ต แล้วลองใช้เครื่องมือนี้ดู — มันยังทำงานได้ตามปกติ เพราะไม่มีอะไรต้องส่งไปไหน · ส่วนการเปิดหน้านี้ใหม่ตอนไม่มีเน็ตมีเงื่อนไขอยู่ ไม่ได้ได้ทุกกรณี

คำถามเกี่ยวกับสร้าง UUID (v4 และ v7)

UUID v4 กับ v7 ต่างกันยังไง ควรเลือกตัวไหน?

v4 คือค่าสุ่มล้วน 122 บิต ไม่มีข้อมูลเวลาหรือเครื่องอยู่ข้างในเลย เดาค่าถัดไปไม่ได้ จึงเหมาะกับโทเคน ลิงก์ลับ หรือรหัสอ้างอิงที่ไม่อยากให้ใครเดาถูก ส่วน v7 เอาเวลา Unix หน่วยมิลลิวินาที 48 บิตไว้หน้าสุดแล้วตามด้วยค่าสุ่ม 74 บิต ทำให้เรียงตามตัวอักษรแล้วได้ลำดับเวลาทันที ถ้าคุณกำลังจะเอาไปทำ primary key ในฐานข้อมูล ให้เลือก v7 แต่ถ้าค่านั้นจะถูกเปิดเผยต่อคนภายนอกและคุณไม่อยากให้รู้ว่าเรคคอร์ดสร้างเมื่อไร ให้เลือก v4

ทำไมคนบอกว่า UUID v4 ทำให้ฐานข้อมูลช้า?

เพราะดัชนีของฐานข้อมูลเกือบทั้งหมดเป็นโครงสร้าง B-tree ซึ่งทำงานดีที่สุดเมื่อค่าใหม่ ถูกเติมต่อท้ายไปเรื่อย ๆ v4 เป็นค่าสุ่มจึงตกกระจายทั่วช่วง แถวใหม่แต่ละแถวไปตกคนละหน้า ฐานข้อมูลต้องแตกหน้า (page split) บ่อย ดัชนีบวมกว่าที่ควร และแคชพลาดถี่ขึ้นเรื่อย ๆ เมื่อตารางโต v7 แก้ปัญหานี้ตรง ๆ เพราะค่าที่สร้างทีหลังมากกว่าค่าที่สร้างก่อนเสมอ แถวใหม่จึงลงหน้าสุดท้าย อ่านเขียนวนอยู่ในไม่กี่หน้าเดิม

UUID ที่สร้างจากหน้านี้ซ้ำกันได้ไหม แล้วปลอดภัยพอไปใช้จริงหรือเปล่า?

ค่าสุ่มมาจาก crypto.getRandomValues ของเบราว์เซอร์ ซึ่งเป็นตัวสุ่มเชิงเข้ารหัส ไม่ใช่ Math.random ที่เดาได้ โอกาสซ้ำของ v4 ต่ำจนไม่ต้องคิดถึงในทางปฏิบัติ ส่วน v7 ถ้าสร้างหลายตัวในมิลลิวินาทีเดียวกัน เราใช้ตัวนับ 12 บิตตามที่ RFC 9562 แนะนำ ทำให้ค่าที่สร้างทีหลังยังเรียงต่อจากค่าก่อนหน้าเสมอ ไม่สลับกันเอง และเนื่องจากทั้งหมดเกิดในเครื่องคุณ ค่าที่ได้จึงไม่เคยผ่านเซิร์ฟเวอร์ของเราเลย เอาไปใช้กับระบบจริงได้

รูปแบบไม่มีขีดกับแบบ URN ใช้ตอนไหน?

แบบไม่มีขีดคือตัดขีดออกเหลือ 32 ตัวอักษร ค่าข้างในเหมือนเดิมทุกบิต นิยมใช้ตอนต้องใส่ใน URL ตั้งชื่อไฟล์ หรือเก็บลงคอลัมน์ CHAR(32) เพื่อประหยัดที่ ใส่ขีดกลับเข้าไปตำแหน่ง 8-4-4-4-12 เมื่อไหร่ก็ได้ ส่วนแบบ URN (urn:uuid:...) ใช้เวลาต้องอ้าง UUID ในฐานะ URI เช่นใน XML, RDF หรือ SAML โดยส่วนนำหน้า urn:uuid: ต้องเป็นตัวพิมพ์เล็กเสมอ

เครื่องมือใกล้เคียง

บอกเราได้

เจอปัญหา หรืออยากได้อะไรเพิ่ม? บอกได้ตรงนี้เลย ไม่ต้องออกจากหน้านี้ไปหาอีเมล

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