Công cụ tạo UUID

UUID v4, v7, ULID và NanoID hàng loạt, sao chép hoặc tải xuống ngay.

122 bit ngẫu nhiên. Lựa chọn thông dụng khi không cần thứ tự.

Từ 1 đến 1000

Định dạng

Công cụ này làm gì

Công cụ tạo mã định danh duy nhất ngay trên thiết bị của bạn, bao nhiêu tùy ý, rồi cho bạn sao chép hoặc lưu thành tệp. Có bốn loại: UUID v4 gồm 122 bit ngẫu nhiên; UUID v7 bắt đầu bằng thời gian hiện tại nên ID mới luôn xếp sau ID cũ; ULID dài 26 ký tự và cũng sắp xếp được theo thời gian; và chuỗi kiểu NanoID ngắn, ngẫu nhiên, an toàn khi đặt vào URL. Số ngẫu nhiên lấy từ bộ sinh mật mã của trình duyệt, cùng loại dùng cho mật khẩu, và không có gì được gửi đi đâu.

Nên chọn loại nào?

  • UUID v4 là lựa chọn mặc định. Mọi cơ sở dữ liệu, ngôn ngữ và framework đều hỗ trợ, và việc trùng lặp gần như không xảy ra: phải tạo khoảng 2,7 tỷ tỷ mã thì xác suất trùng mới đạt 50%.
  • UUID v7 hợp làm khóa chính cho bảng dữ liệu. Khóa v4 rơi vào vị trí ngẫu nhiên trong chỉ mục nên làm chỉ mục phân mảnh và chậm khi chèn; khóa v7 bắt đầu bằng mốc thời gian Unix 48 bit tính bằng mili giây nên bản ghi mới được nối vào cuối. Các ID tạo trong cùng một mili giây được tăng dần để danh sách hàng loạt vẫn đúng thứ tự.
  • ULID cùng ý tưởng với v7 nhưng dài 26 ký tự base32 Crockford (không có I, L, O, U nên khó đọc nhầm).
  • Kiểu NanoID dành cho mã công khai ngắn như liên kết hay mã mời. Mặc định 21 ký tự từ bảng 64 ký tự cho 126 bit, tương đương UUID nhưng ngắn hơn.

Đọc một UUID

UUID gồm 32 chữ số thập lục phân viết theo dạng 8-4-4-4-12. Chữ số đầu của nhóm thứ ba là phiên bản (4 hoặc 7). Chữ số đầu của nhóm thứ tư là biến thể, hiện nay luôn là 8, 9, a hoặc b.

Với UUID v7, 12 chữ số đầu là mốc thời gian. Ví dụ trong chuẩn RFC 9562 là 017f22e2-79b0-7cc3-98c4-dc0c0c07398f: 48 bit đầu 017f22e279b0 bằng 1.645.557.742.000 mili giây kể từ 1/1/1970, tức 19:22:22 UTC ngày 22/2/2022. ULID cho thấy thời gian ở 10 ký tự đầu: 01ARZ3NDEK là 1.469.922.850.259 ms, tức ngày 30/7/2016.

Định dạng

Windows và .NET thường viết GUID bằng chữ hoa, đôi khi trong dấu ngoặc nhọn. PostgreSQL chấp nhận dạng chữ thường thông thường, và một số hệ thống lưu 32 chữ số không có dấu gạch nối. Các ô chọn cho phép đổi giữa những dạng này mà giá trị vẫn như cũ.

Lưu danh sách

Chọn tối đa 1000 ID rồi nhấn "Sao chép tất cả" để mỗi ID một dòng, hoặc tải tệp TXT hay CSV (có cột id) để nhập vào bảng tính hoặc script. Nhấn "Tạo lại" để có lô mới.

Cần biết

  • ID không phải bí mật. UUID v7 và ULID để lộ thời điểm tạo, nên đừng dùng làm mật khẩu hay mã đặt lại. Hãy dùng công cụ tạo mật khẩu.
  • ID ngẫu nhiên gần như chắc chắn duy nhất chứ không tuyệt đối; hãy thêm ràng buộc duy nhất trong cơ sở dữ liệu.

Câu hỏi thường gặp

UUID tạo ra có thật sự duy nhất không?

UUID v4 có 122 bit ngẫu nhiên từ bộ sinh mật mã của trình duyệt nên gần như không thể trùng. UUID v7 thêm mili giây hiện tại và bộ đếm. Dù vậy, bạn vẫn nên đặt ràng buộc duy nhất trong cơ sở dữ liệu.

UUID v4 và v7 khác nhau thế nào?

v4 hoàn toàn ngẫu nhiên. v7 bắt đầu bằng mốc thời gian 48 bit rồi mới đến bit ngẫu nhiên, nên ID sắp xếp theo thời điểm tạo, giúp chỉ mục cơ sở dữ liệu gọn hơn.

GUID có giống UUID không?

Có. GUID là tên Microsoft dùng, định dạng giống nhau. Hãy chọn Chữ hoa và Dấu ngoặc để có kiểu hiển thị của các công cụ Windows.

ID của tôi có bị gửi lên máy chủ không?

Không. Mọi thứ được tạo ngay trong trình duyệt và không có gì được tải lên hay lưu lại.