Trình tạo UUID ngắn

Tạo UUID nhỏ gọn 22 ký tự được mã hóa Base58 để sử dụng thân thiện với URL

Thử các ví dụ này:

Short UUID là gì?

Short UUID là một kỹ thuật để nén UUID 128-bit tiêu chuẩn thành các chuỗi ngắn hơn, thân thiện với URL. Nó thường bao gồm:

  • Chuyển đổi cơ số: Chuyển UUID từ cơ số 16 (hex) sang cơ số cao hơn (thường là base-58 hoặc base-62)
  • Lựa chọn bộ ký tự: Sử dụng bộ ký tự an toàn cho URL không có ký tự gây nhầm lẫn
  • Nén không mất dữ liệu: Giữ nguyên tất cả thông tin từ UUID gốc

Ví dụ chuyển đổi:

  • UUID tiêu chuẩn: f47ac10b-58cc-4372-a567-0e02b2c3d479
  • Short UUID (base-58): 2kLrTdCQVWFjc7dYXzzB5A

Cách hoạt động của Short UUID

  1. Loại bỏ dấu gạch ngang khỏi UUID tiêu chuẩn
  2. Chuyển chuỗi hex 32 ký tự kết quả sang số thập phân
  3. Chuyển số thập phân sang cơ số cao hơn (58, 62, 64, v.v.)
  4. Thêm ký tự đệm nếu cần để đảm bảo độ dài nhất quán

Các bảng mã hóa phổ biến bao gồm:

  • Base-58: Chữ số và chữ cái không có ký tự gây nhầm lẫn (0, O, I, l)
  • Base-62: Tất cả các ký tự chữ số và chữ cái (a-z, A-Z, 0-9)
  • Base-64: Chữ số và chữ cái cộng thêm hai ký tự đặc biệt (thường là + và /)

Ưu điểm & Cân nhắc

AdvantagesConsiderations
  • Định dạng thân thiện với URL
  • Tiết kiệm độ dài ký tự (40-50%)
  • Cải thiện trải nghiệm người dùng
  • Chuyển đổi hai chiều đầy đủ
  • Chi phí chuyển đổi cơ số
  • Độ phức tạp khi triển khai
  • Cân nhắc lưu trữ trong cơ sở dữ liệu
  • Định dạng không chuẩn

So sánh độ dài

FormatLengthBộ ký tựExample
UUID tiêu chuẩn36 ký tựHex + dấu gạch ngangf47ac10b-58cc-4372-a567-0e02b2c3d479
Hex (không dấu gạch ngang)32 ký tự0-9, a-ff47ac10b58cc4372a5670e02b2c3d479
Base-5822 ký tựKhông có 0, O, I, l2kLrTdCQVWFjc7dYXzzB5A
Base-62~22 ký tựAlphanumeric3pqLYdcw9TGKxNVgeO0gOd
Base-64~22 ký tựChữ số và chữ cái + ký hiệu9HrBC1jMQ3KlZw4CssPUeQ==

Bảng chữ cái Base-58 phổ biến

Bảng chữ cái Base-58 được thiết kế để không gây nhầm lẫn khi hiển thị trên cả phông chữ có độ rộng cố định và phông chữ tỷ lệ:

Bộ ký tựContent
Numbers1-9 (không bao gồm 0)
Chữ cái viết hoaA-Z (không bao gồm I, O)
Chữ cái viết thườnga-z (không bao gồm l)

Các ký tự: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Các trường hợp sử dụng phổ biến

  • Rút ngắn URL: Tham số URL gọn hơn
  • ID công khai: Định danh người dùng hoặc nội dung
  • Tối ưu mã QR: Ít ký tự hơn = mã đơn giản hơn
  • Ứng dụng di động: Truyền dữ liệu ít hơn
  • Thiết kế API: Định danh tài nguyên gọn và sạch hơn
  • Chia sẻ xã hội: Liên kết thân thiện với người dùng hơn

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

Short UUID có độc nhất như UUID tiêu chuẩn không?

Có. Short UUID chỉ là một cách biểu diễn khác của cùng giá trị 128-bit. Quá trình chuyển đổi không mất dữ liệu, giữ nguyên tất cả các đặc tính độc nhất của UUID tiêu chuẩn.

Tôi có thể chuyển đổi giữa định dạng UUID tiêu chuẩn và Short UUID không?

Có. Quá trình chuyển đổi là hai chiều - bạn có thể mã hóa UUID tiêu chuẩn thành Short UUID và giải mã lại chính xác thành UUID tiêu chuẩn ban đầu.

Cơ số mã hóa nào được khuyến nghị nhất?

Base-58 thường được ưu tiên vì tránh các ký tự gây nhầm lẫn (0/O và l/I) đồng thời an toàn cho URL mà không cần mã hóa URL.

Short UUID ngắn hơn bao nhiêu?

UUID tiêu chuẩn có 36 ký tự (bao gồm dấu gạch ngang). Short UUID thường có 22 ký tự khi sử dụng mã hóa base-58/62/64, giảm khoảng 40%.

Tôi có nên lưu Short UUID trong cơ sở dữ liệu không?

Nên lưu định dạng UUID tiêu chuẩn trong cơ sở dữ liệu và chỉ chuyển sang Short UUID khi hiển thị cho người dùng hoặc trong URL. Điều này giúp tương thích tốt hơn với kiểu UUID của cơ sở dữ liệu.

Resources