Herramienta de desarrollo / 24

Generador de .htpasswd para Apache / Nginx

Genera líneas .htpasswd para Apache y Nginx y hashes de contraseña en la memoria del cliente.

Generador de .htpasswd para Apache / Nginx: TOEA escribe la línea que Apache y nginx esperan para la autenticación básica de HTTP. El valor predeterminado es el formato $apr1$ de Apache: la contraseña se sala con ocho caracteres aleatorios y se somete a mil iteraciones; es lo que genera htpasswd -m y lo que ambos servidores aceptan. Funciona al 100 % en tu navegador, sin subir archivos a ningún servidor.

Se ejecuta
En tu navegador
Coste
Gratis · sin registro
Disponibilidad
Lista para usar

Cómo conectar la línea con un servidor

Guarda la línea en un archivo fuera de la raíz web, una pareja user:hash por línea. En nginx, añade auth_basic "Restricted"; y auth_basic_user_file /etc/nginx/.htpasswd; al bloque location o server. En Apache, usa AuthType Basic, AuthName, AuthUserFile con la ruta completa del archivo y Require valid-user. Después, vuelve a cargar el servidor; un error de sintaxis hará que fallen todas las solicitudes, no solo los inicios de sesión.

Signos de dólar y HTTP sin cifrar

El hash está lleno de caracteres $, y los archivos de Docker Compose, los archivos .env y algunas etiquetas de proxy interpretan $ como el inicio de una variable. En Compose, escribe cada $ como $$; de lo contrario, el hash se acorta silenciosamente y ninguna contraseña coincide.

La autenticación básica envía el nombre de usuario y la contraseña con cada solicitud, codificados pero no cifrados. Colócala detrás de HTTPS y trátala como una barrera para sitios de pruebas y rutas de administración, no como un sistema de inicio de sesión para clientes.

Cómo se usa

  1. Escribe un nombre de usuario y una contraseña.
  2. Deja el algoritmo en Apache MD5 salvo que tengas un motivo para cambiarlo.
  3. Copia la línea generada en tu archivo .htpasswd.

Privacidad y límites

La contraseña se transforma a hash en tu navegador y nunca se envía a ningún sitio. No se registra nada, y la sal proviene de la fuente aleatoria criptográfica de tu propio navegador, de modo que dos personas que generen una línea para la misma contraseña no obtienen el mismo hash.

Herramientas relacionadas

Preguntas frecuentes

¿Qué algoritmo debería elegir?

Apache MD5 ($apr1$), el valor predeterminado aquí. Usa sal e iteraciones, y tanto Apache como nginx lo aceptan. La opción {SHA} es un resumen SHA-1 sin sal que se mantiene solo para configuraciones antiguas que lo requieren; la propia herramienta htpasswd de Apache marca esa opción como insegura, porque contraseñas idénticas producen hashes idénticos y una tabla de búsqueda las rompe.

¿Es tan robusto como bcrypt?

No. bcrypt es la opción más fuerte y Apache lo admite, pero no puede generarse aquí: necesita una implementación de Blowfish que sería una gran cantidad de código que incluir y en el que confiar. Si quieres bcrypt, ejecuta htpasswd -B -n username localmente y pega el resultado.

¿Puedo comprobar una línea antes de confiar en ella?

Sí, y merece la pena hacerlo. Guárdala en un archivo y ejecuta htpasswd -vb yourfile username password — Apache te dirá si autentica. Estas líneas se verifican tanto con htpasswd como con openssl passwd -apr1.

Herramienta gratuita · se ejecuta en tu navegador · sin cuenta