Apache & Nginx htpasswd Generator

Guia do Desenvolvedor: Gerador htpasswd para Apache e Nginx (Bcrypt, APR1-MD5, SHA-1)

Gere senhas seguras para Autenticação Básica HTTP e entradas .htpasswd com suporte a Bcrypt, Apache MD5 (APR1) e SHA-1.

Predefinições:
Credenciais de Autenticação e Configuração
Entropy: 105 bitsMilitary-Grade
Fator de Custo Bcrypt (Rounds):10 (1,024 iterations)
4 (Fastest)10 (Default)14 (Maximum)
Apache Revision Prefix:
admin:$2b$10$/VdAxLk2y7t2YGlhxcjeYeMgRoFJtsbkTPgrra9pKHE4J1jiU2P16
Contas Configuradas
1 User Account (66 Bytes)
Cifra Ativa
Bcrypt ($2y$, 10 Rounds)
Força da Senha
GPU Resistant (High Work Factor)

Funções Criptográficas de Hash (Bcrypt, APR1-MD5, SHA-1)

Suporte completo para Bcrypt moderno ($2y$/$2a$), Apache Portable Runtime MD5 ($apr1$) com 1.000 iterações de salt e hashes legados SHA-1 em Base64.

Arquitetura de Servidor Duplo (Apache httpd e Nginx)

Produz entradas .htpasswd com sintaxe rigorosa ao lado de blocos Nginx auth_basic, diretivas Apache AuthUserFile e credenciais Docker/Kubernetes.

Execução Local no Navegador com Zero-Knowledge

A geração de salt, permutações de MD5 e cômputo de hashes ocorrem inteiramente dentro do sandbox do seu navegador, sem envio de dados para servidores.

Referência técnica e guia de arquitetura

Guia do Desenvolvedor: Gerador htpasswd para Apache e Nginx (Bcrypt, APR1-MD5, SHA-1) — Guia de referência

Gere senhas seguras para Autenticação Básica HTTP e entradas .htpasswd com suporte a Bcrypt, Apache MD5 (APR1) e SHA-1.

Parâmetros principais e controles

usernamestring

Nome de usuário para Autenticação Básica HTTP. Não pode conter dois-pontos (:) ou caracteres de controle.

Padrão: admin
passwordstring

Senha em texto simples a ser criptografada na linha do arquivo .htpasswd.

Padrão: ••••••••
algorithmselect

Algoritmo de hash criptográfico: Bcrypt ($2y$), Apache APR1-MD5 ($apr1$), SHA-1 ({SHA}) ou Unix Crypt.

Padrão: bcrypt
costnumber

Fator de trabalho do Bcrypt (iterações = 2^cost, intervalo 4–31). Ajusta a carga de processamento por verificação.

Padrão: 10

Dicas profissionais e melhores práticas

Utilize preferencialmente Bcrypt em produção

Adote Bcrypt ($2y$) sempre que disponível. Servidores modernos como Apache 2.4+ e Nginx 1.0.3+ suportam Bcrypt nativamente, garantindo proteção contra ataques de força bruta acelerados por GPUs.

Mantenha o .htpasswd fora do DocumentRoot

Nunca salve o arquivo .htpasswd no diretório web público. Guarde-o em /etc/nginx/.htpasswd ou /etc/apache2/.htpasswd e restrinja as permissões para chmod 640 ou 600, pertencente ao usuário do servidor web.

Descarte SHA-1 e MD5 simples em novas aplicações

Hashes SHA-1 sem salt ({SHA}) e MD5 comum são inseguros contra ataques modernos. Placas de vídeo atuais testam bilhões de combinações por segundo, tornando essas opções vulneráveis a dicionários de senhas.

Padronize quebras de linha em formato Unix (LF)

Verifique se o arquivo .htpasswd adota quebras de linha Unix LF (\n). Quebras no padrão Windows CRLF (\r\n) corrompem o hash gerado, resultando em falhas repetitivas de login.

Problemas comuns e solução de problemas

Nginx retorna erro HTTP 500 Internal Server Error ao ativar auth_basic

Consulte /var/log/nginx/error.log. Isso geralmente indica caminho incorreto em auth_basic_user_file ou ausência de permissão de leitura para o processo worker (ex.: www-data). Execute 'chmod 644 /etc/nginx/.htpasswd'.

Apache exibe 'password mismatch' contínuo mesmo com credenciais corretas

Certifique-se de que a biblioteca APR do Apache possui suporte a Bcrypt (requer apr-util 1.5+). Além disso, inspecione se há caracteres ocultos como retorno de carro (\r) no arquivo .htpasswd.

Nomes de usuário com dois-pontos causam falha na identificação

O padrão .htpasswd adota o primeiro caractere de dois-pontos como separador (usuário:hash). Portanto, o nome de usuário não pode conter dois-pontos (:), enquanto a senha pode utilizá-lo livremente.

Perguntas frequentes (FAQ)

Qual é a diferença entre APR1-MD5 e o MD5 convencional?▼

O APR1 ($apr1$) é um algoritmo iterativo concebido pelo Apache que realiza 1.000 iterações com salt aleatório para mitigar tabelas rainbow. Já o MD5 tradicional executa uma única passagem sem salt, sendo inadequado para segurança.

O Nginx lê diretamente arquivos .htpasswd gerados para o Apache?▼

Sim. O módulo ngx_http_auth_basic_module do Nginx possui total compatibilidade com a sintaxe do .htpasswd do Apache, incluindo Bcrypt ($2a$, $2b$, $2y$), APR1-MD5 e Unix crypt.

Qual fator de custo do Bcrypt é ideal para autenticação HTTP Basic?▼

Valores entre 10 e 12 são os mais recomendados. O fator 10 consome cerca de 50–100ms por validação em CPUs modernas, contendo tentativas de força bruta sem impactar a navegação de usuários legítimos.

Como habilitar a autenticação .htpasswd no Nginx?▼

Dentro do bloco location ou server desejado, insira 'auth_basic "Área Restrita";' e 'auth_basic_user_file /etc/nginx/.htpasswd;'. Teste com 'nginx -t' e recarregue o serviço com 'systemctl reload nginx'.

Ferramentas e utilitários relacionados

Todas as ferramentas →