1001Ferramentas
🔐 Geradores

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.

Conteúdo do arquivo

    
SHA-256/512 e APR1 simplificados: 1 round (sem stretch oficial). Suficiente p/ Nginx e Apache mas use bcrypt em produção sempre que possível.

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