Gerador .htpasswd Multi-Algoritmo
Cria arquivos .htpasswd para Apache e Nginx com bcrypt, APR1, SHA-256, SHA-512 ou crypt, com múltiplos usuários em uma única exportação.
Arquivos htpasswd do zero ao deploy
O arquivo .htpasswd é a base de usuários da autenticação HTTP Basic no Apache, nginx, Caddy e em vários outros servidores web. É um texto simples, uma linha por usuário — username:hash_da_senha — consultado pelo servidor a cada requisição protegida. A CLI htpasswd que acompanha o Apache faz o serviço: htpasswd -c users.txt admin cria o arquivo com o primeiro usuário; depois htpasswd users.txt deploy adiciona outros sem o -c. Combine com um .htaccess (Apache) ou com auth_basic + auth_basic_user_file (nginx) e toda requisição sem credencial recebe um 401 WWW-Authenticate.
Algoritmos de hash — escolha com cuidado
- bcrypt (
-B) — recomendação moderna, suportado no Apache 2.4.4+ e nginx 1.0.3+. Custo ajustável com-C 12(faixa 4-31; quanto maior, mais lento o brute force). O default do htpasswd é um fraco 5 — suba para 10-12. - APR1 MD5 (
$apr1$) — variante MD5 com sal criada pelo Apache em 1996. Foi o default histórico; ainda aceitável para portas internas mas longe de ser estado-da-arte. - SHA-1 (
-s, prefixo{SHA}) — sem sal, rápido, quebrado. Deprecado, evite. - crypt (
-d) — DES legado de Unix; só os 8 primeiros caracteres da senha contam. Útil apenas para compatibilidade antiga. - plain (
-p) — senha em texto claro. Nunca use além de testes locais descartáveis.
Gerando offline
O caminho mais seguro é a sua máquina. O binário htpasswd vem no pacote apache2-utils (Debian/Ubuntu) ou httpd-tools (RHEL). Sem Apache instalado, dá para usar one-liners equivalentes:
htpasswd -nbB admin "S3gredo!" # bcrypt
openssl passwd -apr1 "S3gredo!" # APR1 MD5
mkpasswd -m sha-512 "S3gredo!" # SHA-512 crypt
Nunca cole uma senha real em um site de terceiros. Este builder serve para arquivos de exemplo e demonstração — em produção, gere o hash onde a senha já está: seu terminal, um secret store de configuração ou um pipeline de CI com variáveis mascaradas.
Compatibilidade por servidor
Apache 2.4+ entende todos os algoritmos acima. nginx aceita APR1 e bcrypt (desde 1.0.3); SHA-1 e plain também funcionam mas são desencorajados. Caddy 2 é opinativo e só aceita bcrypt via diretiva basicauth. Traefik, HAProxy e Kong seguem a mesma tendência bcrypt-only. Independente do servidor, lembre que o HTTP Basic envia credenciais em base64, não criptografadas — rodar sem HTTPS vaza a senha em cada requisição. Sempre termine TLS na borda.
Quando ir além do Basic Auth
.htpasswd é ótimo para ferramentas internas, gateways de staging, painéis de admin e protótipos rápidos — sem banco, sem sessão, sobe em minutos. Para qualquer coisa voltada ao usuário ou multi-tenant, ponha por cima oauth2-proxy, Authelia, Authentik ou um edge gerenciado como Cloudflare Zero Trust. Eles trazem SSO, MFA, auditoria e políticas por rota que um arquivo simples não dá. Argon2 é o vencedor moderno de hashing de senha (Password Hashing Competition 2015), mas htpasswd não dá suporte — bcrypt no custo 12 segue uma escolha perfeitamente OK aqui.
Perguntas frequentes
Qual algoritmo escolher? bcrypt com custo 10-12, a menos que precise dar suporte a um servidor muito antigo. APR1 ainda passa; SHA-1, crypt e plain devem ser aposentados.
HTTPS é obrigatório? Sim, sempre. Credenciais Basic são base64, não criptografia — qualquer um na rede lê em texto claro sob HTTP puro.
nginx aceita bcrypt mesmo? Aceita desde a versão 1.0.3 (2011). Gere com htpasswd -nbB user pass e jogue no arquivo apontado por auth_basic_user_file.
Como rotacionar uma senha? Rode htpasswd users.txt admin (sem -c) — ele sobrescreve a linha desse usuário sem mexer no resto do arquivo.
Existe substituto moderno? Sim. Para autenticação de verdade, use OAuth2/OIDC via oauth2-proxy, Authelia ou Authentik. .htpasswd é para portões de baixo risco.
Ferramentas Relacionadas
CSS Box-Shadow Multi
Gere sombras CSS box-shadow com várias camadas para dar profundidade aos elementos. Ajuste cor, desfoque e deslocamento e copie o código na hora.
Gerador de Redirect (Nginx)
Gera regras de redirecionamento Nginx (return 301/302) para uso em location blocks. Aceita lista de pares "origem destino".
Gerador de Licença Apache 2.0
Gere o texto da licença Apache 2.0 com o seu copyright para o seu projeto open source. Copie o arquivo LICENSE pronto — permissiva e com proteção de patentes.