Šta je Sqids?

Sqids je open-source biblioteka koja vam omogućava da generišete kratke jedinstvene identifikatore iz brojeva. Ovi ID-ovi su bezbedni za URL, mogu kodirati nekoliko brojeva i ne sadrže uobičajene psovke. Pročitaj više .

Ovako izgledaju:

https://example.com/Lqj8a0

Brzi primer enkodiranja i dekodiranja:

case sqids (encode [1, 2, 3]) of
  Left  {} -> print "Something went wrong."
  Right id -> print id -- "86Rf07"
case sqids (decode "86Rf07") of
  Left  {}      -> print "Something went wrong."
  Right numbers -> print numbers -- [1, 2, 3]

Ako su ID-ovi prekratki, možete ih produžiti do određene dužine:

case runSqids defaultSqidsOptions{ minLength = 10 } (encode [1, 2, 3]) of
  Left  {} -> print "Something went wrong."
  Right id -> print id -- "86Rf07xd4z"

Kreirajte jedinstvene ID-ove mešanjem abecede:

case runSqids defaultSqidsOptions{ alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt" } (encode [1, 2, 3]) of
  Left  {} -> print "Something went wrong."
  Right id -> print id -- "XRKUdQ"

Cela dokumentacija je na https://github.com/sqids/sqids-haskell

Ako tražite originalni Hashids Haskell, možete ga pronaći ovde: https://github.com/laserpants/hashids-haskell

Upotrebe

Glavna upotreba Sqids je čisto vizuelna. Ako želite da koristite ID-ove umesto brojeva u svom projektu, Sqids bi mogao biti dobar izbor.

Dobar za

  • Kodiranje primarnih ključeva Ako koristite relacionu bazu podataka
  • Čuvanje pretraga baze podataka Kodiranjem više objekata
  • Privremeni login tokeni Bez psovki i siguran za URL

Nije dobar za

  • Osetljivi podaci Ovo nije biblioteka za šifrovanje
  • Korisnički ID-ovi Može otkriti broj korisnika ako neko sazna abecedu enkodiranja

Funkcionalnosti

  • 🆔 Generisanje kratkih ID-ova iz ne-negativnih brojeva
  • Lako kodiranje i dekodiranje
  • 🫣 Automatski generisani ID-ovi ne sadrže uobičajene psovke
  • 🎲 Podrška za prilagođene ID-ove putem promenjenog abecede
  • 🥳 45 integracija (84% koristi novi dizajn)
  • 📌 Svaka verzija proizvodi iste ID-ove
  • 🍻 Mala biblioteka sa dozvolom za upotrebu

Primer / Igralište