Was ist Sqids?

Sqids ist eine Open-Source-Bibliothek, die es Ihnen ermöglicht, kurze eindeutige Bezeichner aus Zahlen zu generieren. Diese IDs sind URL-sicher, können mehrere Zahlen codieren und enthalten keine gängigen unangemessenen Wörter. Mehr lesen .

So sehen sie aus:

https://example.com/Lqj8a0

Schnelles Kodierungs- & Dekodierungsbeispiel:

var sqids = new Sqids.SquidsEncoder();
var id = sqids.encode([1, 2, 3]); // "86Rf07"
var numbers = sqids.decode(id); // [1, 2, 3]

Wenn IDs zu kurz sind, können Sie sie auf eine bestimmte Länge auffüllen:

var sqids = new Sqids.SquidsEncoder(new Sqids.SqidsOptions(minLength = 10));
var id = sqids.encode([1, 2, 3]); // "86Rf07xd4z"
var numbers = sqids.decode(id); // [1, 2, 3]

Erstellen Sie eindeutige IDs durch Mischen des Alphabets:

var sqids = new Sqids.SquidsEncoder(new Sqids.SqidsOptions(alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"));
var id = sqids.encode([1, 2, 3]); // "XRKUdQ"
var numbers = sqids.decode(id); // [1, 2, 3]

Die vollständige Dokumentation befindet sich unter https://github.com/sqids/sqids-coldfusion

Wenn Sie nach dem originalen Hashids ColdFusion suchen, finden Sie es hier: https://github.com/dswitzer/hashids.coldfusion

Anwendungsfälle

Der Hauptzweck von Sqids ist rein visuell. Wenn Sie in Ihrem Projekt IDs anstelle von Zahlen verwenden möchten, könnte Sqids eine gute Wahl sein.

Gut für

  • Primärschlüssel codieren Wenn Sie eine relationale Datenbank verwenden
  • Datenbankabfragen sparen Durch Codieren mehrerer Objekte
  • Temporäre Anmelde-Token Schimpfwortfrei und URL-sicher

Nicht gut für

  • Sensible Daten Dies ist keine Verschlüsselungsbibliothek
  • Benutzer-IDs Kann die Benutzeranzahl preisgeben, wenn jemand das Codierungsalphabet herausfindet

Funktionen

  • 🆔 Kurze IDs aus nicht-negativen Zahlen generieren
  • Einfache Codierung und Dekodierung
  • 🫣 Automatisch generierte IDs enthalten keine üblichen Schimpfwörter
  • 🎲 Unterstützung für benutzerdefinierte IDs durch gemischtes Alphabet
  • 🥳 45 Integrationen (84% verwenden ein neues Design)
  • 📌 Jede Version erzeugt dieselben IDs
  • 🍻 Kleine Bibliothek mit einer großzügigen Lizenz

Beispiel / Spielplatz