Cos'è Sqids?

Sqids è una libreria open-source che ti permette di generare identificatori unici brevi da numeri. Questi ID sono sicuri per gli URL, possono codificare diversi numeri e non contengono parole volgari comuni. Leggi di più .

Ecco come appaiono:

https://example.com/Lqj8a0

Esempio rapido di codifica e decodifica:

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

Se gli ID sono troppo corti, puoi aggiungere zeri fino a una certa lunghezza:

sqids = Sqids.new(min_length: 10)
id = sqids.encode([1, 2, 3]) # "86Rf07xd4z"
numbers = sqids.decode(id) # [1, 2, 3]

Crea ID univoci mescolando l'alfabeto:

sqids = Sqids.new(alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt")
id = sqids.encode([1, 2, 3]) # "XRKUdQ"
numbers = sqids.decode(id) # [1, 2, 3]

La documentazione completa si trova su https://github.com/sqids/sqids-crystal

Se stai cercando l'originale Hashids Crystal, puoi trovarlo qui: https://github.com/splattael/hashids.cr

Utilizzi

L'uso principale di Sqids è puramente visivo. Se desideri utilizzare ID invece di numeri nel tuo progetto, Sqids potrebbe essere una buona scelta.

Buono Per

  • Codifica delle chiavi primarie Se stai usando un database relazionale
  • Risparmio di ricerche nel database Codificando più oggetti
  • Token di accesso temporanei Privi di volgarità e sicuri per gli URL

Non Buono Per

  • Dati sensibili Questa non è una libreria di crittografia
  • ID Utente Può rivelare il conteggio degli utenti se qualcuno scopre l'alfabeto di codifica

Caratteristiche

  • 🆔 Genera ID brevi da numeri non negativi
  • Facile codifica e decodifica
  • 🫣 Gli ID generati automaticamente non contengono volgarità comuni
  • 🎲 Supporto per ID personalizzati tramite alfabeto mescolato
  • 🥳 45 integrazioni (84% utilizzano un nuovo design)
  • 📌 Ogni versione produce gli stessi ID
  • 🍻 Piccola libreria con licenza permissiva

Esempio / Area di gioco