#526 · Herramienta para desarrolladores

Generador de hexadecimal aleatorio

Genera bytes aleatorios con la fuente criptográfica del navegador y los representa en hexadecimal. Puedes indicar cuántos bytes debe tener cada valor y cuántos valores necesitas, lo que facilita crear nonces, identificadores de prueba y material aleatorio que no dependa de Math.random().

Datos de entrada

JSON de generación
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Indica bytes y count en JSON.
  2. Opcionalmente activa uppercase.
  3. Genera los valores usando la fuente criptográfica del navegador.
  4. Copia o descarga las líneas resultantes.

Qué hace esta herramienta para desarrolladores

Cada byte se obtiene con crypto.getRandomValues y se codifica como dos dígitos hexadecimales. Por tanto, 32 bytes producen 64 caracteres hex y representan 256 bits brutos.

La herramienta genera material aleatorio, pero no decide por sí sola si ese material es adecuado como clave criptográfica para un algoritmo concreto.

Para contraseñas almacenadas utiliza un KDF específico; para claves de cifrado respeta el tamaño y formato exigidos por la biblioteca o protocolo.

Ejemplo

Entrada

{"bytes":16,"count":2,"uppercase":false}

Salida esperada

2f7c… (32 caracteres hex)
9a10… (32 caracteres hex)

Casos de uso

  • Crear nonces de pruebas.
  • Generar secretos temporales de laboratorio.
  • Obtener IDs hexadecimales aleatorios.
  • Preparar semillas o material de entrada donde el protocolo admita bytes arbitrarios.

Consejos para obtener resultados fiables

  • Usa el tamaño en bytes requerido por tu protocolo.
  • No recortes una salida si necesitas conservar toda la entropía generada.
  • Evita Math.random() para secretos.
  • Protege el valor después de copiarlo si funciona como credencial.

Detalles del procesamiento

Se generan bloques de Uint8Array con crypto.getRandomValues. Cada byte se convierte a base 16 con relleno a dos caracteres y se concatena sin separadores.

El navegador limita cada llamada a getRandomValues; la página impone límites de tamaño y cantidad para evitar uso accidental excesivo. No almacena ni recupera valores generados.

Preguntas frecuentes

¿Cómo generar 32 bytes aleatorios en hexadecimal desde el navegador?

Configura bytes en 32 y count en 1. El resultado tendrá 64 caracteres hexadecimales producidos a partir de crypto.getRandomValues.

¿Hexadecimal aleatorio y UUID v4 tienen la misma estructura?

No. Una cadena hex representa bytes sin campos de versión o variante; UUID v4 reserva bits específicos y usa formato 8-4-4-4-12.

¿Es mejor crypto.getRandomValues que Math.random para tokens?

Sí para material sensible. crypto.getRandomValues está pensado para aleatoriedad criptográfica, mientras que Math.random no ofrece esa garantía.

¿Cuántos caracteres hex produce cada byte?

Cada byte se representa con exactamente dos caracteres de 00 a ff.

¿Puedo usar la salida como clave AES?

Solo si conviertes los bytes al formato requerido y utilizas una longitud admitida por AES. La página genera bytes; no valida el resto del flujo criptográfico.

Módulos de procesamiento

MóduloFunción
Web Crypto RNGObtiene bytes con crypto.getRandomValues.
Codificador hexRepresenta cada byte con dos dígitos.
Generador por lotesProduce varias líneas con límites controlados.

Explorar la categoría

Más utilidades de identificadores, hashes y seguridad en Hash, ID y seguridad.