Genera tokens aleatorios criptográficamente seguros en formato hexadecimal, Base64URL o alfanumérico — en tu navegador.
Las claves de API, los identificadores de sesión, los secretos de webhooks, los códigos de restablecimiento de contraseña y los tokens CSRF comparten un requisito: deben ser imposibles de adivinar. Eso descarta Math.random(), las marcas de tiempo y cualquier cosa derivada de ellas — son lo bastante predecibles como para romperse por fuerza bruta. Este generador usa crypto.getRandomValues, el generador de números pseudoaleatorios criptográficamente seguro (CSPRNG) que los navegadores alimentan con entropía del sistema operativo — la misma fuente usada para crear claves TLS.
La opción de longitud define cuántos bytes aleatorios contiene cada token (de 16 a 128, 32 por defecto) — o, en modo alfanumérico, cuántos caracteres. El hexadecimal codifica cada byte como dos caracteres de 0-9a-f; Base64URL empaqueta los mismos bytes en una cadena más corta y segura para URLs con letras, dígitos, guion y guion bajo; el alfanumérico toma caracteres del conjunto de 62 caracteres A-Z a-z 0-9. El modo alfanumérico merece una nota técnica: como 256 no es divisible entre 62, tomar ingenuamente cada byte aleatorio módulo 62 haría que algunos caracteres aparecieran más a menudo que otros (sesgo de módulo). Este generador usa en cambio muestreo por rechazo — los bytes mayores o iguales a 248 se descartan y se vuelven a sortear — de modo que cada carácter es exactamente igual de probable.
La línea de estado muestra la entropía estimada: 8 bits por byte para hexadecimal y Base64URL, log2(62) ≈ 5,95 bits por carácter para alfanumérico. Como regla general, 128 bits ya es inviable de romper por fuerza bruta y 256 bits — el valor por defecto de 32 bytes — es el estándar para claves de API de larga duración. Todo se genera localmente en tu navegador, así que ningún servidor ve jamás los tokens y puedes usarlos como secretos reales. Trátalos como tales: guarda solo un hash del token en el lado del servidor, muestra el valor en claro una única vez y rota las claves que sospeches expuestas.
Entropía = longitud × log2(tamaño del alfabeto). Un token de 32 bytes lleva 256 bits de entropía en cualquier codificación; un token alfanumérico lleva log2(62) ≈ 5,95 bits por carácter, así que 43 caracteres alfanuméricos ≈ 256 bits.
32 bytes (256 bits) es un valor por defecto sólido para claves de API de larga duración, y 16 bytes (128 bits) es el mínimo práctico para cualquier cosa relevante para la seguridad. Los tokens más largos aquí no cuestan nada, así que peca de generoso.
Es la distribución desigual que se obtiene al mapear 256 valores de byte sobre un alfabeto que no divide 256 exactamente — algunos caracteres se vuelven ligeramente más probables, lo que reduce de forma medible la entropía efectiva. Esta herramienta lo evita con muestreo por rechazo, descartando los bytes por encima del mayor múltiplo exacto del tamaño del alfabeto.
No. Los tokens se producen localmente con crypto.getRandomValues y nunca se transmiten, se registran ni se almacenan — esta página no hace peticiones de red, así que los tokens son seguros para usarse como secretos reales.
Solo la codificación — la fuente de aleatoriedad es la misma. El hexadecimal es el más largo pero universalmente interpretable; Base64URL es aproximadamente un tercio más corto y seguro en URLs; el alfanumérico evita toda la puntuación, lo que ayuda cuando un sistema restringe los caracteres permitidos.
En teoría sí, en la práctica no: con 256 bits, la probabilidad de ver alguna vez un duplicado está muy por debajo de la de un fallo de hardware. La resistencia a colisiones es precisamente lo que hace de los tokens aleatorios imposibles de adivinar buenos identificadores para secretos.
Vai.la convierte cualquier URL en un enlace corto con estadísticas de clics, código QR y tu propio biolink.
Vai.la no se hace responsable del uso de las herramientas ni de las decisiones tomadas a partir de sus resultados.