¿Qué es Generador de tokens aleatorios?

Genera tokens aleatorios en formato hexadecimal, base64, alfanumérico, URL-safe, numérico, con símbolos o con un conjunto de caracteres totalmente personalizado, usando la API Web Crypto. Úsalos para claves de API, tokens de sesión, tokens CSRF, PIN y códigos OTP numéricos, y enlaces de restablecimiento de contraseña que requieren aleatoriedad criptográfica.

Los bytes salen de crypto.getRandomValues, la misma fuente con la que el navegador genera claves TLS. Puedes elegir 16, 32, 48, 64 o 128 bytes brutos, y el panel de entropía indica cuántos bits de aleatoriedad obtienes en el formato seleccionado. Genera hasta 20 tokens de una vez y descárgalos en .txt para aprovisionamiento por lotes.

Cómo usar

  1. Elige el formato del token (hexadecimal, base64, alfanumérico, URL-safe, numérico, con símbolos o tus propios caracteres personalizados) y la longitud deseada.
  2. Haz clic en generar para crear un token aleatorio criptográficamente seguro de forma instantánea.
  3. Copia el token o genera varios tokens a la vez para uso masivo.

Cuándo usar

  • Emitir claves de API, secretos para firmar webhooks o tokens de autenticación entre servicios.
  • Generar enlaces de recuperación de contraseña, tokens de confirmación o URLs de inicio de sesión de un solo uso.
  • Rellenar fixtures de pruebas con IDs aleatorios realistas que no colisionen.

Resultado

Genera un token hexadecimal de 256 bits (64 caracteres) para usar como clave de API: 'a3f8b2c1d4e5f6...', con entropía completa de crypto.getRandomValues.

Preguntas frecuentes

¿Cuánta entropía hace falta de verdad para una clave de API?
128 bits es el mínimo práctico para cualquier credencial duradera y resiste un ataque de fuerza bruta mucho más allá de lo razonable. Para claves de firma o secretos criptográficos usa 32 bytes (256 bits). 16 bytes basta para tokens de sesión de corta duración.
¿En qué se diferencian base64 y URL-Safe?
Base64 usa + y / y rellenos =, que rompen al pegarlos en URLs o nombres de archivo. URL-Safe los cambia por - y _ y elimina el padding. Usa URL-Safe en cualquier token que vaya en query string, ruta o cabecera HTTP.
¿Por qué la entropía alfanumérica es menor que la hex con los mismos bytes?
Hex y base64 vuelcan los 8 bits de cada byte directamente en caracteres. El alfanumérico mapea cada byte a uno de 62 caracteres mediante módulo, pierde unos 2 bits por byte e introduce un pequeño sesgo. Aceptable para IDs, débil para secretos.
¿Vale Math.random() como respaldo si no hay Web Crypto?
No. Math.random() es un PRNG predecible y un atacante que vea unas pocas salidas puede reproducir las siguientes. Web Crypto existe en todos los navegadores desde 2014 y en cualquier Node.js moderno. Si falta, mejor no generar el secreto.
¿Puede aparecer dos veces el mismo token en mi aplicación?
Con 16 bytes harían falta unos 2^64 tokens para que una colisión sea probable (cota del cumpleaños). Para cualquier carga real, hasta miles de millones de tokens, la colisión es estadísticamente nula y no hace falta comprobar unicidad.

Herramientas relacionadas