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

sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums);  // => "86Rf07"
sqids_decode(sqids, hash, nums, 3);         // => 3

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

sqids_t *sqids = sqids_new(SQIDS_DEFAULT_ALPHABET, 10, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums);  // => "86Rf07xd4z"
sqids_decode(sqids, hash, nums, 3);         // => 3

Kreirajte jedinstvene ID-ove mešanjem abecede:

sqids_t *sqids = sqids_new("k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt", 0, sqids_bl_list_all(NULL));
unsigned long long nums[] = {1, 2, 3};
char *hash = sqids_encode(sqids, 3, nums);  // => "XRKUdQ"
sqids_decode(sqids, hash, nums, 3);         // => 3

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

Ako tražite originalni Hashids C, možete ga pronaći ovde: https://github.com/tzvetkoff/hashids.c

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