Por Just Quality, desarrollo de software en Granada.

Desarrollo

Token Generator

Genera tokens aleatorios para pruebas.

Token

9qJaNCDR3n80Y19l6nYKCEOv9qsisvzw

Token aleatorio generado.

  • Longitud: 32 caracteres.

Para desarrollo y documentación. En producción el token debe generarlo tu servidor.

Token Generator

Produce tokens aleatorios seguros para enlaces de un solo uso, confirmaciones, restablecimientos de contraseña e identificadores que deban ser imposibles de adivinar.

Cadenas aleatorias para desarrollo

  • Rellenar una variable de entorno en un entorno de desarrollo.
  • Un valor de ejemplo para la documentación de una API.
  • Semillas y claves de prueba que no vayan a producción.

Aleatorio para pruebas, no para producción

La aleatoriedad sale de Math.random(), que sirve para rellenar un entorno de desarrollo y no es una fuente criptográfica: es predecible si alguien se lo propone. Un token que proteja algo de verdad tiene que generarlo tu servidor en el momento, con su propia fuente segura. El valor no se registra en ningún sitio.

Preguntas frecuentes

¿Es aleatorio de verdad?

Es aleatorio para lo que hace falta aquí, y no para lo que hace falta en producción. Conviene decirlo sin rodeos: tiramos del generador corriente de JavaScript, el mismo que mueve animaciones y reparte cartas en un juego. A ojo el resultado es impredecible, pero su secuencia es reproducible para quien conozca el estado interno del generador, así que no es una fuente criptográfica. Un token que proteja algo se pide al sistema operativo, no a esta página.

¿Qué caracteres salen y de qué longitud?

Las letras de la a a la zeta en ambas cajas y las diez cifras, sesenta y dos símbolos en total, sin nada que se rompa al meterlo en una URL o en una variable de entorno. La longitud la pides tú y la recortamos al rango que va de 16 a 256 caracteres. Al entrar están puestos 32.

¿Cuánto debería medir un token de verdad?

La cifra que se maneja son 128 bits de aleatoriedad. En hexadecimal eso son 32 caracteres, en Base64 unos 22. Por debajo de ahí empieza a tener sentido intentar adivinarlo por fuerza bruta. Para un enlace de restablecer contraseña que caduca en una hora vas sobrado; si el valor va a vivir meses, alarga sin miedo, que los bytes son baratos.

¿Me vale como clave de API de ejemplo?

Para el ejemplo, perfecto. Las claves reales suelen llevar delante un prefijo que dice de qué servicio y de qué entorno son, del estilo sk_test_, y ese prefijo no es decoración: existe para que un escáner de secretos detecte la clave si se te cuela en un repositorio. Ponle tu prefijo delante del valor y ya tienes la cadena para la documentación.