Vad är Sqids?

Sqids är ett öppen-källkods-bibliotek som låter dig generera korta unika identifierare från nummer. Dessa ID:n är URL-säkra, kan koda flera nummer och innehåller inte vanliga svordomar. Läs mer .

Så här ser de ut:

https://example.com/Lqj8a0

Snabb kodnings- och avkodningsexempel:

id = encode([1, 2, 3]) # "86Rf07"
numbers = decode(id) # [1, 2, 3]

Om ID:n är för korta kan du fylla på dem till en viss längd:

id = encode([1, 2, 3], min_length = 10) # "86Rf07xd4z"
numbers = decode(id) # [1, 2, 3]

Skapa unika ID:n genom att blanda alfabetet:

alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"
id = encode([1, 2, 3], alphabet) # "XRKUdQ"
numbers = decode(id, alphabet) # [1, 2, 3]

Fullständig dokumentation finns på https://github.com/sqids/sqids-bazel

Användningsområden

Det primära användningsområdet för Sqids är rent visuellt. Om du vill använda ID:n istället för nummer i ditt projekt kan Sqids vara ett bra val.

Bra för

  • Kodning av primärnycklar Om du använder en relationsdatabas
  • Spara databashämtningar Genom att koda flera objekt
  • Tillfälliga inloggnings-token Fri från svordomar och URL-säkra

Inte bra för

  • Känsliga data Detta är inte ett krypteringsbibliotek
  • Användar-ID:n Kan avslöja antalet användare om någon får tag på kodningsalfabetet

Funktioner

  • 🆔 Generera korta ID:n från icke-negativa nummer
  • Enkel kodning och avkodning
  • 🫣 Auto-genererade ID:n innehåller inte vanliga svordomar
  • 🎲 Stöd för anpassade ID:n via skufflat alfabet
  • 🥳 45 integrationer (84% använder en ny design)
  • 📌 Varje version producerar samma ID:n
  • 🍻 Litet bibliotek med en tillåtande licens

Exempel / Lekplats