Sqids nedir?

Sqids sayılarından kısa eşsiz tanımlayıcılar oluşturmanıza izin veren açık kaynaklı bir kütüphanedir. Bu kimlikler URL'ye uygun, birkaç sayıyı kodlayabilir ve yaygın küfür içermemektedir. Daha Fazla Oku.

Bunlar nasıl görünüyor:

https://example.com/Lqj8a0

Hızlı kodlama ve kod çözme örneği:

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]

Eğer kimlikler çok kısa ise, onları belirli bir uzunluğa kadar doldurabilirsiniz:

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]

Alfabeyi karıştırarak benzersiz kimlikler oluştur:

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]

Tam belge burada bulunmaktadır https://github.com/sqids/sqids-openedge-abl

Kullanım Alanları

Sqids ana kullanımı tamamen görseldir. Projede sayılar yerine kimlik kullanmak isterseniz, Sqids iyi bir seçenek olabilir.

İyi İçin

  • Birincil anahtarları kodlama İlişkisel veritabanı kullanıyorsanız
  • Veritabanı sorgularını kaydetme Birden fazla nesneyi kodlayarak
  • Geçici giriş belirteçleri Küfürsüz ve URL uyumlu

İyi Değil İçin

  • Duyarlı veri Bu bir şifreleme kütüphanesi değil
  • Kullanıcı kimlikleri Kodlamayı alanbilirse kullanıcı sayısını ortaya çıkarabilir

Özellikler

  • 🆔 Negatif olmayan sayılardan kısa kimlikler oluştur
  • Kolay kodlama ve kod çözme
  • 🫣 Otomatik oluşturulan kimlikler genel küfür içermez
  • 🎲 Karışık alfabe ile özel kimlikleri destekleme
  • 🥳 46 entegrasyonlar
  • 📌 Her sürüm aynı kimlikleri üretir
  • 🍻 Hoşgörülü lisanslı küçük kütüphane