Š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:

val sqids = Sqids.default
val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07"
val numbers = sqids.decode(id) // List(1, 2, 3)

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

Sqids
  .withMinLength(10)
  .foreach { sqids =>
    val id = sqids.encodeUnsafeString(1, 2, 3) // "86Rf07xd4z"
    val numbers = sqids.decode(id) // List(1, 2, 3)
  }

Kreirajte jedinstvene ID-ove mešanjem abecede:

Alphabet("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
  .flatMap(Sqids.forAlphabet)
  .foreach { sqids =>
    val id = sqids.encodeUnsafeString(1, 2, 3) // "XRKUdQ"
    val numbers = sqids.decode(id) // List(1, 2, 3)
  }

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

Ako tražite originalni Hashids Scala, možete ga pronaći ovde: https://github.com/newhoggy/hashids-scala

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
  • 🥳 44 integracija (75% koristi novi dizajn)
  • 📌 Svaka verzija proizvodi iste ID-ove
  • 🍻 Mala biblioteka sa dozvolom za upotrebu

Primer / Igralište