Generator krótkich UUID

Generuj kompaktowe 22-znakowe UUID kodowane Base58 do użytku przyjaznego dla URL

Wypróbuj te przykłady:

Co to jest Short UUID?

Short UUID to technika kompresji standardowych 128-bitowych UUID do krótszych, przyjaznych dla URL ciągów. Zazwyczaj obejmuje:

  • Konwersja podstawy: Konwersję UUID z podstawy 16 (szesnastkowej) do wyższej podstawy (zwykle base-58 lub base-62)
  • Wybór zestawu znaków: Użycie zestawów znaków bezpiecznych dla URL, bez znaków dwuznacznych
  • Kompresja bezstratna: Zachowanie wszystkich informacji z oryginalnego UUID

Przykład transformacji:

  • Standardowy UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
  • Short UUID (base-58): 2kLrTdCQVWFjc7dYXzzB5A

Jak działa Short UUID

  1. Usuń myślniki ze standardowego UUID
  2. Konwersja powstałego 32-znakowego ciągu szesnastkowego na liczbę dziesiętną
  3. Konwersja liczby dziesiętnej do wyższej podstawy (58, 62, 64 itd.)
  4. Dopełnij wynik, jeśli to konieczne, aby zapewnić spójną długość

Typowe alfabety kodowania obejmują:

  • Base-58: Alfanumeryczne bez znaków dwuznacznych (0, O, I, l)
  • Base-62: Wszystkie znaki alfanumeryczne (a-z, A-Z, 0-9)
  • Base-64: Alfanumeryczne plus dwa znaki specjalne (często + i /)

Zalety i uwagi

AdvantagesConsiderations
  • Format przyjazny dla URL
  • Oszczędność długości znaków (40-50%)
  • Ulepszone doświadczenie użytkownika
  • Pełna konwersja dwukierunkowa
  • Nadwyżka konwersji podstawy
  • Złożoność implementacji
  • Uwagi dotyczące przechowywania w bazie danych
  • Format niestandardowy

Porównanie długości

FormatLengthZestaw znakówExample
Standardowy UUID36 znakówSzesnastkowy + myślnikif47ac10b-58cc-4372-a567-0e02b2c3d479
Szesnastkowy (bez myślników)32 znaki0-9, a-ff47ac10b58cc4372a5670e02b2c3d479
Base-5822 znakiBez 0, O, I, l2kLrTdCQVWFjc7dYXzzB5A
Base-62~22 znakiAlphanumeric3pqLYdcw9TGKxNVgeO0gOd
Base-64~22 znakiAlfanumeryczne + symbole9HrBC1jMQ3KlZw4CssPUeQ==

Typowy alfabet Base-58

Alfabet Base-58 został zaprojektowany tak, aby był wizualnie jednoznaczny zarówno w czcionkach o stałej szerokości, jak i proporcjonalnych:

Zestaw znakówContent
Numbers1-9 (z wyłączeniem 0)
Wielkie literyA-Z (z wyłączeniem I, O)
Małe literya-z (z wyłączeniem l)

Znaki: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Typowe zastosowania

  • Skracanie URL: Bardziej kompaktowe parametry URL
  • Identyfikatory publiczne: Identyfikatory użytkowników lub treści
  • Optymalizacja kodów QR: Mniej znaków = prostsze kody
  • Aplikacje mobilne: Mniejsza transmisja danych
  • Projektowanie API: Czystsze, bardziej kompaktowe identyfikatory zasobów
  • Udostępnianie społecznościowe: Bardziej przyjazne linki

Najczęściej zadawane pytania

Czy Short UUID są tak unikalne jak standardowe UUID?

Tak. Short UUID to po prostu inna reprezentacja tej samej 128-bitowej wartości. Konwersja jest bezstratna, zachowując wszystkie właściwości unikalności standardowych UUID.

Czy mogę konwertować między standardowym a Short UUID?

Tak. Konwersja jest dwukierunkowa - możesz zakodować standardowy UUID do Short UUID i zdekodować go z powrotem do dokładnie tego samego standardowego UUID.

Które kodowanie podstawy jest najbardziej zalecane?

Base-58 jest często preferowane, ponieważ unika znaków dwuznacznych (0/O i l/I), pozostając jednocześnie bezpieczne dla URL bez konieczności kodowania URL.

O ile krótsze są Short UUID?

Standardowe UUID mają 36 znaków (z myślnikami). Short UUID zazwyczaj mają 22 znaki przy użyciu kodowania base-58/62/64, co stanowi redukcję około 40%.

Czy powinienem przechowywać Short UUID w mojej bazie danych?

Zaleca się przechowywanie standardowego formatu UUID w bazach danych i konwersję do Short UUID tylko podczas wyświetlania użytkownikom lub w URL. Zapewnia to lepszą kompatybilność z typami UUID w bazie danych.

Resources