Categoría: Desarrollo
Generador de htpasswd
Crea entradas de archivo de contraseñas para Basic Auth en local
Genera una línea htpasswd de Apache en tu navegador. Crea credenciales Basic Auth con bcrypt y copia o descarga una entrada .htpasswd sin enviar nunca la contraseña a un servidor.
Cada paso duplica el trabajo que tiene que hacer un atacante, y también el tiempo que tarda esta página en generar la línea. De 10 a 12 va bien en la mayoría de servidores.
Aquí aparecerá el resultado.
bcrypt lee como máximo 72 bytes de una contraseña; lo que venga después se ignora, tanto en esta página como en tu servidor.
Guarda el archivo fuera de la raíz web y apunta AuthUserFile hacia él. Un .htpasswd dentro de un directorio servido se puede descargar.
La contraseña se convierte en hash en esta pestaña. Nunca se envía a ningún sitio, nunca se guarda, y la línea resultante tampoco.
Todo lo de esta página se procesa en tu navegador. No se sube nada.
Para qué sirve
Un archivo .htpasswd es una simple lista de registros `usuario:hash` con la que la autenticación Basic de Apache comprueba un inicio de sesión, y nginx lee el mismo formato en auth_basic_user_file. Esta página construye esos registros en tu dispositivo: la implementación de bcrypt se ejecuta en la pestaña, así que la contraseña nunca viaja. bcrypt es la opción por defecto porque es deliberadamente lento y lleva sal individual, que es lo que encarece el descifrado de un archivo robado; el deslizador de coste es cuánto más lento lo haces. SHA-1 se ofrece solo para un servidor demasiado antiguo para aceptar bcrypt: va sin sal y es rápido, y la página lo dice justo donde se elige.
Cómo se usa
- Escribe el usuario y la contraseña, o genera una contraseña aleatoria.
- Deja bcrypt y elige un coste: de 10 a 12 va bien en la mayoría de servidores.
- Copia la línea, o descarga el archivo .htpasswd, y guárdalo fuera de tu raíz web.
Privacidad
Esta herramienta funciona íntegramente en tu navegador. Lo que introduces nunca se sube, se guarda ni se comparte: al cerrar la pestaña desaparece.
Preguntas frecuentes
- ¿Se sube mi contraseña?
- No. El hash se calcula en la pestaña del navegador. La contraseña, la sal y la línea final no se transmiten, registran ni almacenan en ningún sitio.
- ¿Qué hash debería elegir?
- bcrypt, salvo que tu servidor realmente no pueda usarlo. Lleva sal por entrada y es lento a propósito, así que quien robe el archivo tiene que gastar tiempo real en cada intento. La opción SHA-1 no lleva sal y se rompe rápido; existe solo por compatibilidad.
- ¿Qué hace el coste de bcrypt?
- Es el logaritmo en base 2 del número de rondas de preparación de clave, así que cada paso duplica el trabajo, tanto para un atacante como para tu servidor al iniciar sesión. De 10 a 12 es el equilibrio habitual; costes mayores también hacen que esta página tarde bastante más.
- ¿Puedo usar la salida con nginx?
- Sí. nginx lee el mismo formato de archivo en auth_basic_user_file y admite entradas bcrypt, así que una línea generada aquí sirve para Apache y para nginx.
- ¿Dónde debe estar el archivo?
- Fuera del directorio que publica tu servidor, con AuthUserFile apuntando a su ruta. Si .htpasswd está dentro de una carpeta servida, cualquiera puede descargar los hashes y romperlos sin conexión.