¿Qué es Sqids?

Sqids es una biblioteca de código abierto que te permite generar identificadores cortos únicos a partir de números. Estos IDs son seguros para URL, pueden codificar varios números y no contienen palabras malsonantes comunes. Leer más .

Así es cómo lucen:

https://example.com/Lqj8a0

Ejemplo rápido de codificación y decodificación:

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

Si los IDs son muy cortos, puedes rellenarlos hasta cierta longitud:

var sqids:Sqids = new Sqids({minLength: 10});
var id:String = sqids.encode([1, 2, 3]); // "86Rf07xd4z"
var numbers:Array = sqids.decode(id); // [1, 2, 3]

Crea IDs únicos al barajar el alfabeto:

var sqids:Sqids = new Sqids({alphabet: "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt"});
var id:String = sqids.encode([1, 2, 3]); // "XRKUdQ"
var numbers:Array = sqids.decode(id); // [1, 2, 3]

La documentación completa está en https://github.com/sqids/sqids-actionscript

Si estás buscando el Hashids ActionScript original, puedes encontrarlo aquí: https://github.com/jovanpn/hashids.as

Casos de uso

El uso principal de Sqids es puramente visual. Si prefieres usar IDs en lugar de números en tu proyecto, Sqids podría ser una buena elección.

Bueno Para

  • Codificación de claves primarias Si estás usando una base de datos relacional
  • Ahorro de consultas a la base de datos Al codificar varios objetos
  • Tokens de inicio de sesión temporales Libre de vulgaridades y seguro para URL

No Bueno Para

  • Datos sensibles Esto no es una biblioteca de encriptación
  • IDs de Usuario Puede revelar la cantidad de usuarios si alguien descubre el alfabeto de codificación

Características

  • 🆔 Generar IDs cortos a partir de números no negativos
  • Codificación y decodificación sencillas
  • 🫣 Los IDs autogenerados no contienen palabras malsonantes comunes
  • 🎲 Soporte para IDs personalizados a través de un alfabeto aleatorio
  • 🥳 45 integraciones (84% utilizan un nuevo diseño)
  • 📌 Cada versión produce los mismos IDs
  • 🍻 Biblioteca pequeña con una licencia permisiva

Ejemplo / Playground