UTILS.
100% en el navegador
🔒

Generador de .htpasswd

Crea líneas .htpasswd de Apache/nginx con hashes APR1-MD5 o SHA-1 con sal, totalmente sin conexión en tu navegador.

— la salida aparece aquí —
Bcrypt no está incluido. APR1-MD5 lleva sal y es el recomendado; SHA-1 no lleva sal, solo para uso heredado.

Acerca de esta herramienta

Genera una línea de credencial .htpasswd lista para pegar (usuario:hash) para la autenticación HTTP Basic de Apache o nginx. El nombre de usuario, la contraseña y el hashing ocurren todos localmente en tu navegador: no se sube nada, y no hay eval ni biblioteca externa.

Se admiten dos algoritmos. APR1-MD5 (el formato $apr1$ de Apache) está implementado en JavaScript puro, incluidos un MD5 autónomo y el bucle completo crypt de 1000 rondas con sal, con una sal aleatoria de 8 caracteres extraída de crypto.getRandomValues. SHA-1 usa el crypto.subtle.digest integrado del navegador, codificado en base64 y con el prefijo {SHA}, lo que coincide con la salida de htpasswd -s. Bcrypt se excluye a propósito porque un bcrypt correcto y rápido en JS puro es poco práctico de ejecutar en el cliente.

Escribe un nombre de usuario y una contraseña, elige un algoritmo y copia la línea resultante en tu archivo .htpasswd. Usa Nueva sal para regenerar la sal de APR1 (cada guardado produce un hash distinto para la misma contraseña, lo cual es esperado y correcto).

Preguntas frecuentes

¿Se envía mi contraseña a algún sitio?
No. Todo el hashing se ejecuta por completo en tu navegador usando un MD5 integrado para APR1 y el crypto.subtle nativo para SHA-1. No se transmite nada y no hay eval.
¿Qué algoritmo debo elegir?
APR1-MD5 ($apr1$) es el valor predeterminado recomendado de Apache y lleva sal, así que es el más seguro de los dos aquí. SHA-1 ({SHA}) no lleva sal y es útil principalmente para configuraciones heredadas o compatibilidad con nginx.
¿Por qué cambia el hash de APR1 cada vez?
APR1 usa una sal aleatoria de 8 caracteres, así que la misma contraseña produce un hash distinto cada vez. Es por diseño; Apache vuelve a leer la sal del hash almacenado al comprobar un inicio de sesión.
¿Por qué no se ofrece bcrypt?
Bcrypt se excluye deliberadamente. Un bcrypt correcto en JavaScript puro sería grande y lento en el navegador, así que esta herramienta incluye en su lugar los modos fiables y sin conexión APR1-MD5 y SHA-1.

Más herramientas