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:

local sqids = Sqids.new()
local encoded = sqids:encode({ 1, 2, 3 }) -- 86Rf07
local decoded = sqids:decode(encoded) -- 1, 2, 3

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

local sqids = Sqids.new({
  minLength = 10,
})
local encoded = sqids:encode({ 1, 2, 3 }) -- 86Rf07xd4z
local decoded = sqids:decode(encoded) -- 1, 2, 3

Crea ID univoci mescolando l'alfabeto:

local sqids = Sqids.new({
  alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt",
})
local encoded = sqids:encode({ 1, 2, 3 }) -- XRKUdQ
local decoded = sqids:decode(encoded) -- 1, 2, 3

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

Se stai cercando l'originale Hashids Lua, puoi trovarlo qui: https://github.com/leihog/hashids.lua

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
  • 🥳 44 integrazioni (75% utilizzano un nuovo design)
  • 📌 Ogni versione produce gli stessi ID
  • 🍻 Piccola libreria con licenza permissiva

Esempio / Area di gioco