Generador de htpasswd

Crea una línea .htpasswd de Apache o nginx y una cabecera de autorización HTTP Basic a partir de un usuario y una contraseña, con hash bcrypt, APR1 o SHA-1, todo en tu navegador.

Cargando herramienta…

Generador de htpasswdEscribe un usuario y una contraseña para obtener dos cosas a la vez: una línea .htpasswd lista para pegar en la autenticación básica de Apache o nginx, y la cabecera de autorización HTTP Basic que enviaría tu cliente. La cabecera es el base64 de usuario:contraseña y se actualiza al instante, mientras que la línea .htpasswd con hash se calcula al pulsar Generar. Todo se ejecuta localmente con la Web Crypto API y un hasher WebAssembly en el navegador, así que tu contraseña nunca se sube a ningún servidor.

¿Qué es Generador de htpasswd?

El Generador de htpasswd es una herramienta gratuita en el navegador para crear credenciales de Autenticación Básica HTTP. Administradores de sistemas y desarrolladores web la usan para proteger un directorio o un panel de administración con usuario y contraseña sin instalar la utilidad de línea de comandos htpasswd de Apache. Produce una sola línea usuario:hash que añades a un archivo .htpasswd, eligiendo bcrypt (el más fuerte, formato $2y$), APR1 (el MD5 portable de Apache, formato $apr1$) o SHA-1 (formato SHA). También deriva la cabecera Authorization: Basic correspondiente para que puedas probar las mismas credenciales con curl o un cliente REST. El factor de coste de bcrypt es configurable en Ajustes para un hash más fuerte o más rápido.

Cómo usar Generador de htpasswd

  1. Introduce el nombre de usuario que iniciará sesión.
  2. Escribe la contraseña que protegerá la cuenta; permanece en este campo y nunca se envía a ningún sitio.
  3. Copia la cabecera de autorización Basic de inmediato si solo la necesitas para una petición de API o una prueba con curl.
  4. Abre Ajustes para elegir el algoritmo de hash (bcrypt, APR1 o SHA-1) y, para bcrypt, el factor de coste.
  5. Pulsa Generar para calcular la línea .htpasswd con hash y cópiala en el archivo .htpasswd de tu servidor.

Ejemplos

Línea bcrypt para un solo usuario

Entrada

usuario: admin, contraseña: s3cret, algoritmo: bcrypt (coste 10)

Salida

admin:$2y$10$... (un hash bcrypt de 60 caracteres, sal aleatoria cada vez)

Cabecera HTTP Basic para una prueba de API

Entrada

usuario: admin, contraseña: s3cret

Salida

Basic YWRtaW46czNjcmV0

Línea APR1 (MD5 de Apache) para configuraciones antiguas

Entrada

usuario: web, contraseña: pass123, algoritmo: APR1

Salida

web:$apr1$<sal>$<hash de 22 caracteres>

Preguntas frecuentes

¿Se envía mi contraseña a un servidor?
No. Tanto la cabecera Basic como el hash .htpasswd se calculan íntegramente en tu navegador con la Web Crypto API y un hasher WebAssembly en el navegador. No se sube ni se almacena nada en ningún servidor, así que la herramienta funciona sin conexión y tu contraseña nunca sale de la página.
¿Qué hash debo elegir?
Usa bcrypt para configuraciones nuevas; es el más resistente al descifrado y lo admiten los Apache y nginx modernos. APR1 ($apr1$) es el MD5 portable de Apache, útil para configuraciones antiguas. SHA-1 ({SHA}) es el más débil y conviene evitarlo salvo que un sistema lo exija.
¿Por qué el botón Generar tarda un momento?
bcrypt y APR1 son lentos a propósito para resistir ataques de fuerza bruta, y bcrypt además carga un pequeño módulo WebAssembly la primera vez. Un factor de coste mayor hace bcrypt más lento pero más fuerte. SHA-1 y la cabecera Basic son instantáneos.
¿Coincide con el comando htpasswd real?
Sí. Las líneas bcrypt usan el prefijo $2y$ que espera Apache, APR1 usa el formato estándar $apr1$ con sal aleatoria y SHA-1 usa el esquema {SHA}, todos compatibles con los archivos generados por htpasswd.
¿Puedo usarlo con nginx?
Sí. El auth_basic_user_file de nginx lee el mismo formato .htpasswd, así que una línea bcrypt o APR1 funciona directamente. nginx no admite {SHA}, así que elige bcrypt o APR1 para él.

Herramientas relacionadas