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

DEFINE VARIABLE sqids   AS Sqids     NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER   EXTENT 3 NO-UNDO.
DEFINE VARIABLE id      AS CHARACTER NO-UNDO.

sqids = NEW Sqids().

ASSIGN
	numbers[1] = 1
	numbers[2] = 2
	numbers[3] = 3.

id = sqids:Encode(numbers). // '86Rf07'.
numbers = sqids:Decode(id). // [1, 2, 3]

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

DEFINE VARIABLE sqids   AS Sqids     NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER   EXTENT 3 NO-UNDO.
DEFINE VARIABLE id      AS CHARACTER NO-UNDO.

sqids = NEW Sqids('', 10).

ASSIGN
	numbers[1] = 1
	numbers[2] = 2
	numbers[3] = 3.

id = sqids:Encode(numbers). // '86Rf07xd4z'.
numbers = sqids:Decode(id). // [1, 2, 3]

Kreirajte jedinstvene ID-ove mešanjem abecede:

DEFINE VARIABLE sqids   AS Sqids     NO-UNDO.
DEFINE VARIABLE numbers AS INTEGER   EXTENT 3 NO-UNDO.
DEFINE VARIABLE id      AS CHARACTER NO-UNDO.

sqids = NEW Sqids('k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt').

ASSIGN
	numbers[1] = 1
	numbers[2] = 2
	numbers[3] = 3.

id = sqids:Encode(numbers). // 'XRKUdQ'.
numbers = sqids:Decode(id). // [1, 2, 3]

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

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

Primer / Igralište