Apache & Nginx htpasswd Generator

Guía de Desarrollo: Generador htpasswd para Apache y Nginx (Bcrypt, APR1-MD5, SHA-1)

Genere credenciales seguras de autenticación básica HTTP y archivos .htpasswd con Bcrypt, Apache MD5 (APR1) y SHA-1.

Preajustes:
Credenciales de Autenticación y Configuración
Entropy: 105 bitsMilitary-Grade
Factor de Coste Bcrypt (Rondas):10 (1,024 iterations)
4 (Fastest)10 (Default)14 (Maximum)
Apache Revision Prefix:
admin:$2b$10$YIYzbeCnjnawYRDJs5umYel1nkbRCK/DiaasDWAzyjdLRFASiMnwS
Cuentas Creadas
1 User Account (66 Bytes)
Cifrado Activo
Bcrypt ($2y$, 10 Rounds)
Seguridad de Clave
GPU Resistant (High Work Factor)

Funciones Criptográficas de Hash (Bcrypt, APR1-MD5, SHA-1)

Compatible con Bcrypt Eksblowfish ($2y$/$2a$), Apache Portable Runtime MD5 ($apr1$) con 1.000 iteraciones y SHA-1 Base64 tradicional directamente en memoria.

Arquitectura Dual de Servidor (Apache httpd y Nginx)

Genera entradas .htpasswd con sintaxis validada junto con bloques Nginx auth_basic, directivas Apache AuthUserFile y secretos de Docker/Kubernetes.

Ejecución Local con Privacidad Zero-Knowledge

Toda la generación de salt, permutaciones MD5 y cómputo de hashes se realizan exclusivamente dentro del entorno de su navegador sin transmisión a servidores.

Referencia técnica y guía de arquitectura

Guía de Desarrollo: Generador htpasswd para Apache y Nginx (Bcrypt, APR1-MD5, SHA-1) — Guía de referencia

Genere credenciales seguras de autenticación básica HTTP y archivos .htpasswd con Bcrypt, Apache MD5 (APR1) y SHA-1.

Parámetros clave y controles

usernamestring

Nombre de usuario para la autenticación HTTP Basic. No puede contener dos puntos (:) ni caracteres de control.

Por defecto: admin
passwordstring

Contraseña en texto plano que será cifrada en el registro de .htpasswd.

Por defecto: ••••••••
algorithmselect

Algoritmo criptográfico: Bcrypt ($2y$), Apache APR1-MD5 ($apr1$), SHA-1 ({SHA}) o Unix Crypt.

Por defecto: bcrypt
costnumber

Factor de coste de Bcrypt (rondas = 2^cost, rango 4–31). Regula la carga computacional por verificación.

Por defecto: 10

Consejos profesionales y mejores prácticas

Priorice siempre Bcrypt en entornos de producción

Utilice Bcrypt ($2y$) siempre que sea posible. Las versiones modernas de Apache (2.4+) y Nginx (1.0.3+) ofrecen soporte nativo para Bcrypt, protegiendo eficazmente contra ataques de fuerza bruta acelerados por GPU.

Almacene el archivo .htpasswd fuera del DocumentRoot

Nunca guarde .htpasswd dentro del directorio raíz público. Ubíquelo en /etc/nginx/.htpasswd o /etc/apache2/.htpasswd y configure permisos restrictivos (chmod 640 o 600) asignados al usuario del servidor web.

Evite algoritmos obsoletos como SHA-1 o MD5 simple

Los hashes SHA-1 sin salt ({SHA}) y MD5 estándar están obsoletos. Las GPUs modernas calculan miles de millones de hashes por segundo, permitiendo descifrar contraseñas mediante tablas arcoíris en pocos instantes.

Utilice saltos de línea Unix (LF)

Asegúrese de que el archivo .htpasswd utilice saltos de línea Unix LF (\n). Los saltos Windows CRLF (\r\n) dañan la cadena del hash y generan fallos persistentes de autenticación.

Errores comunes y solución de problemas

Nginx responde con error HTTP 500 Internal Server Error al activar auth_basic

Revise /var/log/nginx/error.log. Este error suele deberse a una ruta errónea en auth_basic_user_file o a la falta de permisos de lectura para el proceso de Nginx (www-data). Aplique 'chmod 644 /etc/nginx/.htpasswd'.

Apache solicita credenciales continuamente con aviso de 'password mismatch'

Compruebe que la biblioteca APR de Apache soporte Bcrypt (requiere apr-util 1.5+). Verifique también que el archivo no contenga retornos de carro (\r) ni espacios en blanco al final de la línea.

El uso de dos puntos (:) en el usuario corrompe el registro

El formato .htpasswd emplea el primer carácter de dos puntos como separador (usuario:hash). Los nombres de usuario no pueden contener dos puntos (:), aunque la contraseña sí puede incluirlo.

Preguntas frecuentes (FAQ)

¿En qué se diferencia APR1-MD5 del MD5 convencional?▼

APR1 ($apr1$) es una variante desarrollada por Apache que aplica un salt aleatorio y 1.000 iteraciones de MD5 para mitigar ataques con tablas precalculadas. El MD5 convencional no usa salt y carece de seguridad para contraseñas.

¿Puede Nginx utilizar archivos .htpasswd generados para Apache sin cambios?▼

Sí. El módulo ngx_http_auth_basic_module de Nginx es totalmente compatible con el estándar .htpasswd de Apache, admitiendo Bcrypt ($2a$, $2b$, $2y$), APR1-MD5 y Unix crypt.

¿Qué factor de coste de Bcrypt es recomendable para autenticación web?▼

Un coste entre 10 y 12 es el óptimo. Con coste 10, cada verificación tarda entre 50 y 100 ms en CPUs modernas, neutralizando ataques automatizados sin perjudicar la fluidez de inicio de sesión.

¿Cómo se configura un archivo .htpasswd en Nginx?▼

Añada 'auth_basic "Área Restringida";' y 'auth_basic_user_file /etc/nginx/.htpasswd;' dentro del bloque server o location correspondiente. Compruebe la sintaxis con 'nginx -t' y recargue el servicio.

Herramientas y utilidades relacionadas

Todas las herramientas →