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:

settings <- sqids::sqids_options()
id <- sqids::encode(c(1, 2, 3), settings) # "86Rf07"
numbers <- sqids::decode(id, settings) # vector(1, 2, 3)

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

settings <- sqids::sqids_options(min_length=10)
id <- sqids::encode(c(1, 2, 3), settings) # "86Rf07xd4z"
numbers <- sqids::decode(id, settings) # vector(1, 2, 3)

Crea ID univoci mescolando l'alfabeto:

settings <- sqids::sqids_options(
  alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"
)
id <- sqids::encode(c(1, 2, 3), settings) # "XRKUdQ"
numbers <- sqids::decode(id, settings) # vector(1, 2, 3)

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

Se stai cercando l'originale Hashids R, puoi trovarlo qui: https://github.com/ALShum/hashids-r

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