logo
GeekFormat

Trình tạo UUID

Tùy chọn

Số tạo ra

Số

Trình tạo UUID/GUID/ULID/NanoID trực tuyến miễn phí hỗ trợ 5 định dạng ID duy nhất, tạo hàng loạt tối đa 100, định dạng tùy chỉnh và xác thực UUID. Sẵn sàng sử dụng ngay lập tức — hoàn hảo cho khóa chính cơ sở dữ liệu và tạo dữ liệu kiểm thử.

Đề xuất Liên quan

Trường hợp sử dụng

  • Tạo UUID v4 làm khóa chính cho các bản ghi bảng trong quá trình thiết kế cơ sở dữ liệu để tránh rò rỉ khối lượng dữ liệu từ ID tự tăng
  • Sử dụng ULID làm ID yêu cầu/theo dõi toàn cục có thể sắp xếp trong các hệ thống phân tán hoặc kiến trúc vi dịch vụ
  • Tạo hàng loạt UUID làm dữ liệu kiểm thử và ID đơn hàng/người dùng giả lập trong quá trình phát triển API và kiểm thử tích hợp
  • Sử dụng NanoID thay vì UUID trong các liên kết ngắn frontend hoặc URL chia sẻ — ngắn hơn, sạch hơn, không cần mã hóa URL
  • Sử dụng UUID v5 để tạo ID xác định từ các không gian tên cố định, đảm bảo cùng đầu vào luôn tạo ra cùng đầu ra
  • Sử dụng tính năng xác thực để xác định loại và phiên bản ID khi gặp các ID định dạng không xác định trong nhật ký gỡ lỗi hoặc tài liệu của bên thứ ba

Tính năng

  • Năm loại ID trong một công cụ: UUID v1 (dấu thời gian), v4 (ngẫu nhiên), v5 (không gian tên), ULID (có thể sắp xếp) và NanoID (an toàn URL) — một công cụ đáp ứng mọi nhu cầu của ngăn xếp công nghệ
  • Xác thực và nhận dạng UUID: Chuyển đến tab Xác thực, dán bất kỳ ID nào để xác định phiên bản UUID hoặc phát hiện định dạng ULID/NanoID — giải quyết sự cố nhanh chóng trong quá trình gỡ lỗi
  • Tạo hàng loạt tối đa 100: Tạo bất kỳ số lượng nào từ 1 đến 100 ID cùng lúc — không còn sao chép thủ công từng cái một cho dữ liệu kiểm thử nữa
  • Định dạng linh hoạt: Chuyển đổi chữ hoa và dấu gạch nối cho UUID để phù hợp với yêu cầu định dạng của cơ sở dữ liệu, URL và tệp cấu hình
  • Xuất và lịch sử cục bộ: Sao chép tất cả bằng một cú nhấp, xuất tệp TXT/JSON, lịch sử tạo được lưu cục bộ để khôi phục ngay lập tức — các thao tác hàng loạt hiệu quả hơn
  • Ngẫu nhiên an toàn phía máy khách: Sử dụng API crypto của trình duyệt cho các số ngẫu nhiên an toàn về mặt mật mã, ID không bao giờ rời khỏi thiết bị của bạn, hoạt động ngoại tuyến

Cách Sử dụng

  1. Chọn loại ID mong muốn từ các thẻ ở trên: UUID v4 (khuyến nghị), v1, v5, ULID hoặc NanoID
  2. Nếu chọn UUID v5, hãy nhập chuỗi không gian tên; các ID khác có thể đặt tùy chọn định dạng trực tiếp
  3. Chuyển đổi các tùy chọn chữ hoa và dấu gạch nối theo nhu cầu, đặt số lượng tạo hàng loạt (1-100) thông qua các nút nhanh hoặc thanh trượt
  4. Nhấp vào nút tạo để xem kết quả — sao chép từng cái, sao chép tất cả cùng lúc hoặc xuất dưới dạng TXT/JSON
  5. Để xác thực ID hiện có, chuyển đến tab "Xác thực" và dán chuỗi ID để nhận thông tin loại và phiên bản

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

Sự khác biệt giữa UUID và GUID là gì?

UUID (Universally Unique Identifier) và GUID (Globally Unique Identifier) về cơ bản là cùng một thứ với tên gọi khác nhau: UUID là tên chính thức của tiêu chuẩn IETF (RFC 4122), trong khi GUID là thuật ngữ ưa dùng của Microsoft trong hệ sinh thái Windows. Cả hai đều có định dạng 128-bit giống hệt nhau như `550e8400-e29b-41d4-a716-446655440000`. UUID tiêu chuẩn được tạo bởi công cụ này có thể sử dụng thay thế cho nhau trong mọi tình huống yêu cầu GUID.

Làm thế nào để chọn giữa UUID v1, v4 và v5?

UUID v1 dựa trên dấu thời gian và địa chỉ MAC — được sắp xếp theo thời gian và có thể theo dõi, nhưng có thể làm rò rỉ thông tin địa chỉ MAC. UUID v4 hoàn toàn ngẫu nhiên, là lựa chọn được sử dụng phổ biến và an toàn nhất, phù hợp cho hầu hết các tình huống khóa chính và định danh. UUID v5 là phiên bản không gian tên dựa trên băm SHA-1 — cùng không gian tên + cùng tên sẽ luôn tạo ra cùng một UUID, lý tưởng cho các tình huống đầu ra xác định. Đối với phát triển thông thường, UUID v4 là lựa chọn mặc định.

ULID và NanoID có những ưu điểm gì so với UUID v4?

ULID (26 ký tự) ngắn hơn UUID (36 ký tự có dấu gạch nối) và có thể được sắp xếp theo từ điển theo thời gian tạo, làm cho nó lý tưởng cho chỉ mục cơ sở dữ liệu và theo dõi nhật ký. NanoID (mặc định 21 ký tự) thậm chí còn ngắn hơn và nhanh hơn, sử dụng các ký tự an toàn cho URL nên không cần thoát ký tự trong URL và cookie — nhỏ hơn UUID khoảng 30%. Cả ba đều có xác suất va chạm không đáng kể, nhưng khả năng sắp xếp của ULID nổi bật trong các hệ thống phân tán, trong khi NanoID thân thiện hơn cho các tình huống frontend/URL.

Tôi có thể tạo nhiều UUID cùng lúc không?

Có. Công cụ này hỗ trợ tạo hàng loạt từ 1 đến 100 ID. Đặt số lượng thông qua các nút nhanh hoặc thanh trượt, sau đó tạo bằng một cú nhấp chuột — hoàn hảo cho việc tạo dữ liệu kiểm thử, nhập hàng loạt và chuẩn bị ID duy nhất cho các tập lệnh. Sau khi tạo, bạn có thể sao chép tất cả kết quả cùng lúc hoặc xuất dưới dạng tệp TXT hoặc JSON.

Hướng dẫn tạo hàng loạt

Tôi có thể xác thực xem một chuỗi có phải là UUID hợp lệ không?

Có. Chuyển đến tab "Xác thực" và dán bất kỳ chuỗi nào — công cụ sẽ tự động nhận dạng và xác thực: UUID tiêu chuẩn (v1/v3/v4/v5) sẽ báo cáo số phiên bản cụ thể của chúng, và cũng nhận dạng các định dạng ULID (Crockford Base32 26 ký tự) và NanoID (ký tự an toàn URL 21 ký tự), làm cho nó rất thuận tiện để nhanh chóng giải quyết các sự cố định dạng ID trong quá trình phát triển và gỡ lỗi.

Tạo UUID trực tuyến có an toàn không? ID của tôi có bị rò rỉ lên máy chủ không?

Hoàn toàn an toàn. Tất cả việc tạo và xác thực ID chạy cục bộ trong trình duyệt của bạn thông qua JavaScript, sử dụng crypto.getRandomValues() cho các số ngẫu nhiên an toàn về mặt mật mã. Không có ID nào được tạo được gửi đến bất kỳ máy chủ nào và không có lịch sử tạo nào được lưu trữ trên đám mây. Nó hoạt động ngay cả khi ngoại tuyến, làm cho nó phù hợp cho mạng nội bộ doanh nghiệp và các dự án nhạy cảm.

Tôi có thể xóa dấu gạch nối hoặc chuyển UUID thành chữ hoa không?

Có. Đối với UUID v1/v4/v5, công cụ cung cấp hai công tắc: "Chữ hoa" chuyển đổi kiểu chữ đầu ra, và "Dấu gạch nối" cho phép bạn xóa các dấu gạch ngang (hữu ích cho URL, tệp cấu hình hoặc cơ sở dữ liệu yêu cầu định dạng không có dấu gạch nối). ULID và NanoID mặc định không có dấu gạch nối và cũng hỗ trợ chuyển đổi kiểu chữ.

Tại sao nên sử dụng công cụ trực tuyến thay vì dòng lệnh để tạo UUID?

Các công cụ dòng lệnh (như uuidgen của Linux, mô-đun uuid của Python) yêu cầu môi trường phát triển. Công cụ trực tuyến hoạt động ngay lập tức trong trình duyệt của bạn mà không cần cài đặt. Ngoài ra, công cụ này tích hợp nhận dạng phiên bản UUID, xuất hàng loạt và các tính năng lịch sử cục bộ — thuận tiện hơn khi làm việc trên nhiều thiết bị (ví dụ: tạo ID cho đồng nghiệp không chuyên về kỹ thuật) hoặc khi bạn cần ID ngay lập tức.

UUID là gì?

UUID (Universally Unique Identifier) là một định danh 128-bit được tiêu chuẩn hóa bởi Open Software Foundation (OSF), được định nghĩa trong RFC 4122. Mục đích của nó là cho phép các hệ thống phân tán xác định thông tin một cách duy nhất mà không cần cơ quan trung ương để gán ID.

Một UUID tiêu chuẩn trông như `550e8400-e29b-41d4-a716-446655440000`, bao gồm 32 chữ số thập lục phân được chia thành 5 nhóm (8-4-4-4-12) bởi các dấu gạch nối. Về mặt lý thuyết, xác suất va chạm của UUID v4 là khoảng 1/10^36 — nếu bạn tạo 1 tỷ UUID mỗi giây trong khoảng 800 năm, xác suất của một lần va chạm duy nhất sẽ là khoảng 50%, không đáng kể trong thực tế.

UUID được sử dụng rộng rãi cho khóa chính cơ sở dữ liệu, ID theo dõi phân tán, ID yêu cầu, ID theo dõi nhật ký, đặt tên tệp duy nhất, ID dữ liệu kiểm thử và định danh phiên. Hầu hết tất cả các ngôn ngữ lập trình chính đều bao gồm các thư viện tạo UUID tích hợp sẵn.

术语表

UUID
Universally Unique Identifier, độ dài 128 bit, tiêu chuẩn RFC 4122, các phiên bản phổ biến bao gồm v1 (dấu thời gian+MAC), v4 (ngẫu nhiên), v5 (băm SHA-1).
GUID
Globally Unique Identifier, thuật ngữ của Microsoft cho UUID — cả hai giống hệt nhau về định dạng và mục đích.
ULID
Universally Unique Lexicographically Sortable Identifier, 26 ký tự sử dụng mã hóa Crockford Base32, 48 bit đầu tiên là dấu thời gian — có thể sắp xếp theo thời gian tạo.
NanoID
Một trình tạo ID duy nhất nhẹ, mặc định 21 ký tự an toàn URL (A-Za-z0-9_-), ngắn hơn và nhanh hơn UUID, lý tưởng cho các tình huống frontend và URL.
UUID v1
Phiên bản UUID dựa trên dấu thời gian và địa chỉ MAC, có thể sắp xếp theo thời gian nhưng có thể làm rò rỉ địa chỉ MAC và thời gian tạo — kém an toàn hơn v4.
UUID v4
Phiên bản UUID hoàn toàn dựa trên số ngẫu nhiên, được sử dụng rộng rãi nhất, xác suất va chạm không đáng kể, là lựa chọn mặc định trong phát triển.
UUID v5
Phiên bản UUID không gian tên dựa trên băm SHA-1 — cùng không gian tên + cùng đầu vào tên sẽ tạo ra đầu ra UUID giống hệt nhau, phù hợp cho các tình huống xác định.
Xác suất va chạm
Xác suất mà hai ID được tạo ngẫu nhiên sẽ giống hệt nhau. Xác suất va chạm của UUID v4 là khoảng 1 trên 17 tỷ nghìn tỷ, không đáng kể trong kỹ thuật thực tế.
Crockford Base32
Mã hóa Base32 được thiết kế bởi Douglas Crockford sử dụng chữ hoa và chữ số loại trừ I/L/O/U để tránh các ký tự gây nhầm lẫn — được sử dụng bởi ULID.

So sánh UUID / ULID / NanoID

Đặc điểmUUID v4ULIDNanoID
Độ dài36 ký tự (có dấu gạch nối) / 32 ký tự (không dấu gạch nối)26 ký tự21 ký tự (mặc định)
Tập ký tựThập lục phân (0-9a-f)Crockford Base32 (32 ký tự)An toàn URL (64 ký tự)
Khả năng sắp xếpKhông theo thứ tự (ngẫu nhiên)Theo thứ tự thời gianKhông theo thứ tự (ngẫu nhiên)
An toàn URLCần thoát ký tự (dấu gạch nối + chữ/số)Hầu hết an toàn (chữ hoa + chữ số)Hoàn toàn an toàn URL
Tốc độ tạoNhanhNhanhNhanh hơn UUID khoảng 60%
Xác suất va chạm1/10^361/10^361/10^34 (tại 21 ký tự)
Trường hợp sử dụng điển hìnhKhóa chính CSDL, ID chungHệ thống phân tán, theo dõi nhật kýURL ngắn, ID frontend, cookie

Phương pháp tạo UUID theo ngôn ngữ

Ngôn ngữ
JavaScriptcrypto.randomUUID() // Trình duyệt hiện đại / Node.js 19+
Pythonimport uuid; uuid.uuid4()
JavaUUID.randomUUID()
Gogithub.com/google/uuid; uuid.New()
Bash/Linuxuuidgen hoặc cat /proc/sys/kernel/random/uuid

Code Examples

Tạo UUID v4 trong JavaScript

javascript

Các trình duyệt hiện đại và Node.js 14.17+ có Web Crypto API tích hợp sẵn, cho phép tạo UUID v4 trực tiếp mà không cần thư viện bên thứ ba.

// Trình duyệt hiện đại / Node.js 19+
const id = crypto.randomUUID();
console.log(id); // "550e8400-e29b-41d4-a716-446655440000"

// Node.js 14.17 - 18.x
const crypto = require('crypto');
const id = crypto.randomUUID();

Tạo hàng loạt UUID trong Python

python

Sử dụng mô-đun uuid của thư viện chuẩn Python để tạo nhiều UUID v4 hàng loạt, lý tưởng cho việc chuẩn bị dữ liệu kiểm thử.

import uuid

# Tạo một UUID đơn lẻ
uid = uuid.uuid4()
print(uid)

# Tạo hàng loạt 10 UUID
for _ in range(10):
    print(uuid.uuid4())

# Tạo UUID chữ hoa không có dấu gạch nối
print(uuid.uuid4().hex.upper())

Tạo UUID từ Dòng lệnh Shell

bash

Nhanh chóng tạo UUID trong terminal Linux/macOS, phù hợp để sử dụng trong các tập lệnh shell.

# Linux
uuidgen

# macOS
uuidgen | tr 'A-Z' 'a-z'

# Đọc trực tiếp từ tệp ngẫu nhiên của hệ thống (phương pháp thô nhất)
cat /proc/sys/kernel/random/uuid

Authoritative References