Ferramentas de Desenvolvimento

Gerador de .htpasswd

Gere arquivos .htpasswd para autenticação básica do Apache e Nginx com segurança no navegador. Compatível com bcrypt, APR1-MD5 e SHA-1. As senhas nunca são enviadas ao servidor.

Dicas

  • Use bcrypt: O algoritmo mais seguro disponível. Funciona com Apache 2.4+ e Nginx. Valores de custo mais altos tornam o hash mais lento e aumentam a resistência a ataques de força bruta (10 é o valor padrão recomendado).
  • APR1-MD5 ($apr1$) é indicado para compatibilidade com Apache 2.2 ou versões anteriores, e funciona com praticamente todas as versões do Apache e Nginx.
  • SHA-1 ({SHA}) possui baixa resistência a colisões e não é recomendado. Use-o apenas em ambientes legados que exijam compatibilidade retroativa.
  • Coloque o arquivo .htpasswd fora do DocumentRoot (ou raiz web do Nginx) para que não seja acessível diretamente via web.
  • Sempre use HTTPS. As credenciais de autenticação básica são apenas codificadas em Base64, não criptografadas — trafegam em texto simples sobre HTTP.

Perguntas frequentes

Adicione o seguinte ao seu .htaccess ou httpd.conf, apontando AuthUserFile para o caminho do arquivo .htpasswd gerado:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Adicione as diretivas ao seu nginx.conf ou ao bloco server correspondente:
location /admin {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
O Nginx suporta tanto bcrypt quanto APR1-MD5.

bcrypt é fortemente recomendado para qualquer instalação com Apache 2.4+ ou Nginx. Use APR1-MD5 apenas se precisar de compatibilidade com Apache 2.2 ou anterior. Evite SHA-1 a menos que um sistema legado exija.

Basta acrescentar a linha gerada (usuário:hash) ao final do arquivo existente. Cada linha representa um usuário. Linhas em branco e linhas iniciadas com # são ignoradas.

Sim. Todo o processo de hash ocorre inteiramente no navegador via JavaScript. Nenhuma senha é transmitida ao servidor. Use esta ferramenta sempre em uma página HTTPS segura e guarde o arquivo gerado com cuidado.
ツールくん

Curiosidade — Por que a Basic Auth sobrevive apesar da idade

A autenticação básica HTTP foi definida em 1999 pela RFC 2617 (atualizada para RFC 7617). O mecanismo é simples: concatenar usuário e senha com :, codificar em Base64 e enviar no cabeçalho Authorization.

Sua simplicidade explica por que ainda é amplamente usada: ideal para ambientes de staging, ferramentas internas ou como primeira linha de defesa combinada com listas de permissão de IP. Duas ou três linhas de configuração bastam, sem necessidade de middleware adicional ou banco de dados.

As limitações também existem: não há mecanismo de logout (a sessão persiste até fechar o navegador), nem gerenciamento de expiração de senhas nem autenticação multifator de série. Para serviços com requisitos de segurança reais, considere OAuth 2.0 ou OIDC.