Inicio › Herramientas para desarrolladores › Generador de cadenas aleatorias

Generador de cadenas aleatorias

Crea cadenas aleatorias para tokens, datos de prueba, códigos de cupón o identificadores. Cada carácter procede del generador aleatorio criptográfico de tu navegador con muestreo por rechazo, así que ningún carácter es más probable que otro.

Última actualización:

Caracteres
Entropía por cadena–
Tamaño del conjunto–
Cadenas posibles–

Publicidad
Publicidad

Cómo usar Generador de cadenas aleatorias

  1. Elige un ajuste predefinido o marca los conjuntos de caracteres que quieras, y añade caracteres personalizados si hace falta.
  2. Define la longitud y la cantidad. Puedes crear hasta 10,000 cadenas a la vez.
  3. Elige las opciones: excluir caracteres parecidos, exigir todos los conjuntos, hacer todas las cadenas únicas o añadir un prefijo y un sufijo.
  4. Pulsa Generar cadenas y revisa la cifra de entropía para ver lo difíciles de adivinar que son las cadenas.
  5. Copia o descarga la lista como archivo de texto.

Entropía según longitud y conjunto de caracteres

La entropía mide cuántos intentos necesita un atacante: una cadena de b bits requiere hasta 2b intentos. Entropía = longitud × log2(tamaño del conjunto).

Conjunto de caracteresTamaño del conjuntoBits por carácter16 caracteres22 caracteres32 caracteres
Numérico 0–9103.32253.273.1106.3
Hex 0–9 a–f164.00064.088.0128.0
Letras a–z A–Z525.70091.2125.4182.4
Alfanumérico625.95495.3131.0190.5
Base64url (A–Z a–z 0–9 - _)646.00096.0132.0192.0
Todo el ASCII imprimible946.555104.9144.2209.7

Por qué importa el muestreo por rechazo

Un entero aleatorio de 32 bits tiene 4,294,967,296 valores posibles. Para un alfabeto de 62 caracteres, 4,294,967,296 ÷ 62 deja un resto de 4, así que con el atajo x % 62 los cuatro primeros caracteres aparecerían una vez más por cada 4.29 mil millones de sorteos. Aquí el sesgo es mínimo, pero crece con alfabetos más grandes o números aleatorios más pequeños (un byte aleatorio con % 62 hace que los 8 primeros caracteres sean un 25% más probables que el resto).

Este generador calcula límite = 232 − (232 mod N), descarta cualquier valor igual o superior al límite y vuelve a sortear. Cada valor aceptado corresponde exactamente al mismo número de caracteres, así que el resultado es perfectamente uniforme. Con alfabetos habituales se rechaza de media menos de un sorteo de cada mil millones.

Exigir un carácter de cada conjunto

Muchos sistemas exigen "al menos un dígito y una letra mayúscula". La herramienta cumple esta regla generando cadenas completas y rechazando las que no incluyen algún conjunto, lo que mantiene igual de probable cada cadena válida. El número de cadenas válidas se cuenta exactamente con inclusión-exclusión. Ejemplo para longitud 2 con mayúsculas (26) y dígitos (10): 36² − 26² − 10² = 520 cadenas válidas, es decir, log2(520) = 9.02 bits en lugar de 10.34.

Usos habituales y ajustes recomendados

UsoAjuste recomendadoEntropía
ID de sesión o token CSRF32 alfanuméricos190 bits
Token seguro para URL22–43 Base64url132–258 bits
Código de cupón o invitación8–10 mayúsculas + dígitos, sin caracteres parecidos40–50 bits
Datos de prueba / ID de marcador de posición12 hex en minúsculas48 bits
PIN numérico de un solo uso6 dígitos19.9 bits (limita los intentos)

Preguntas frecuentes

¿Son seguras estas cadenas aleatorias?

Sí. Se generan con crypto.getRandomValues, el generador de números aleatorios criptográficamente seguro del navegador, adecuado para tokens, ID de sesión y claves secretas. Nunca se usa Math.random.

¿Qué es el sesgo de módulo y cómo se evita?

Asignar un número aleatorio de 32 bits a un alfabeto con valor % tamaño hace que los primeros caracteres sean un poco más probables siempre que 2^32 no sea múltiplo del tamaño del alfabeto. Esta herramienta descarta los números aleatorios por encima del mayor múltiplo del tamaño del alfabeto y vuelve a sortear (muestreo por rechazo), así que cada carácter tiene exactamente la misma probabilidad.

¿Cómo se calcula la entropía?

Para una cadena de longitud L tomada de N caracteres posibles, entropía = L × log2(N) bits. Una cadena alfanumérica de 32 caracteres (N = 62) tiene 32 × 5.954 = 190.5 bits. Si exiges un carácter de cada conjunto, la herramienta cuenta exactamente las cadenas válidas con inclusión-exclusión, lo que da una cifra algo menor.

¿Qué longitud debe tener un token aleatorio?

128 bits de entropía es el objetivo habitual para secretos y tokens de sesión: 22 caracteres alfanuméricos, 32 caracteres hex o 22 caracteres Base64url. Para códigos cortos que la gente escribe a mano bastan menos bits, siempre que se limite el número de intentos.

¿Puedo asegurarme de que no haya dos cadenas iguales?

Marca “Todas las cadenas únicas”. El generador omitirá entonces los duplicados. Si pides más cadenas de las posibles con la longitud y los caracteres elegidos, te lo indica en lugar de quedarse en un bucle infinito.

¿Las cadenas se guardan o se envían a algún sitio?

No. Todo se genera en tu dispositivo y no se sube ni se guarda nada, salvo las opciones que elijas, que se recuerdan en tu navegador.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Generadores de código →