Generador htpasswd
La línea que Apache quiere, resumida en tu propia máquina.
Los ejemplos sustituyen temporalmente la entrada y los ajustes. Puedes recuperar tu trabajo anterior.
Pega o escribe arriba para ver el resultado aquí.
Tus archivos se quedan en tu dispositivo
Esta herramienta se ejecuta por completo en tu navegador. Lo que pegas se procesa en tu dispositivo y nunca se envía a un servidor, así que puedes usarla con tokens, claves y textos sin publicar.
Ejemplo
Ejemplo: la carpeta de fotos de la excursión en la web del AMPA, con dos accesos bcrypt
El AMPA de un colegio sube a su web la carpeta /fotos-excursion, que solo deben ver las familias y la junta. En el cuadro, un usuario por línea: familias:Viaje-Cazorla.2026 y junta:Ampa!Secretaria7 (contraseñas de ejemplo). Ajustes como vienen: bcrypt, factor de trabajo 10, prefijo $2y$ (Apache).
- Generar devuelve una línea por usuario: el nombre, dos puntos y un hash bcrypt de 60 caracteres. Debajo aparece algoritmo bcrypt, coste 2^10, líneas 2.
- $2y$10$ son el prefijo y el factor de trabajo; siguen 22 caracteres de sal y 31 de hash. La sal cambia en cada clic: la misma contraseña da cada vez otra línea, y todas valen.
- Usuario y contraseña se separan en los primeros dos puntos de la línea: un «:» dentro de la contraseña no da problemas; en el nombre de usuario, sí.
- Copia las líneas a un archivo .htpasswd fuera de la carpeta pública de la web e indícalo con AuthUserFile en el .htaccess de /fotos-excursion.
| Algoritmo | Línea para «familias» | Caracteres tras los dos puntos |
|---|---|---|
| bcrypt | familias:$2y$10$4SdDzvugrYG1HW677wsspeVwX6.ZFsW4HKUfKesMaTS/D0UX9GVXy | 60 |
| APR1 | familias:$apr1$x2RIoRrZ$7BmzCtA70de6zLtuxoZCZ1 | 37 |
| SHA-1 | familias:{SHA}9BSxpAfM6Ah3I2x0tzrut/zSl1Y= | 33 |
Un .htpasswd de dos líneas: al abrir /fotos-excursion, el navegador pide usuario y contraseña. Cuando cambie la junta, borra su línea y añade la que generes para quien entre; las demás siguen igual. La línea SHA-1 sale siempre igual porque no lleva sal: para un archivo nuevo, quédate con bcrypt.
Cómo funciona
- Escribe usuario:contraseña en cada línea. Una contraseña sola devuelve solo el hash.
- Déjalo en bcrypt salvo que tengas que encajar con un archivo existente.
- Pulsa Generar. bcrypt es lento a propósito: de eso se trata.
- Copia las líneas a tu archivo .htpasswd.
Preguntas frecuentes
- ¿Por qué tarda un segundo?
- Porque bcrypt está hecho para tardar. El factor de trabajo es una potencia de dos: subirlo en uno duplica el trabajo del atacante y también tu espera. 10 es el compromiso habitual; 12 es unas cuatro veces más lento.
- ¿Debo usar APR1 o SHA-1?
- Solo para encajar con un archivo que ya los tenga. APR1 es el MD5 con sal de Apache y es lo que htpasswd escribe sin opciones en muchos sistemas; el SHA-1 de aquí no lleva sal, así que la misma contraseña da siempre la misma línea, y no debería usarse para nada nuevo.
- ¿Qué pongo en el .htaccess?
- En Apache, en el .htaccess de la carpeta que quieres proteger: AuthType Basic, AuthName con el texto que verá quien entra (por ejemplo "Zona privada"), AuthUserFile con la ruta completa del archivo .htpasswd —mejor fuera de la carpeta pública— y Require valid-user. Al entrar, el navegador pide usuario y contraseña.
- ¿Puedo usar ñ o tildes en la contraseña?
- Sí: se resumen en UTF-8, donde la ñ ocupa 2 bytes. bcrypt solo usa los primeros 72 bytes de una contraseña, y si alguna se pasa, el resultado lo indica. Los navegadores actuales envían la contraseña también en UTF-8; si alguien entra con un programa antiguo y no le acepta una contraseña con ñ, una sin ñ ni tildes evita el problema.
- ¿Se manda mi contraseña a algún sitio?
- No, y esa es la razón de ser de esta página. La sal sale del generador aleatorio de tu navegador y el cálculo ocurre en tu máquina: no se transmite nada. Pegar una contraseña real en el servidor de un desconocido es justo lo que hay que evitar.