Ferramenta de desenvolvedor / 24

Gerador .htpasswd para Apache / Nginx

Gere linhas de autenticação .htpasswd para Apache e Nginx e hashes de senha na memória do cliente.

Gerador .htpasswd para Apache / Nginx: TOEA escreve a linha que Apache e nginx esperam para autenticação básica HTTP. O padrão é o formato $apr1$ do Apache: a senha é salgada com oito caracteres aleatórios e passada por mil iterações, que é o que htpasswd -m produz e o que ambos os servidores leem. Roda 100% localmente no seu navegador, sem enviar nenhum arquivo para o servidor.

Execuções
No seu navegador
Custo
Grátis · sem cadastro
Disponibilidade
Pronto para usar

Inserindo a linha no servidor

Salve a linha em um arquivo fora da raiz web, com um user:hash por linha. No nginx, adicione auth_basic "Restricted"; e auth_basic_user_file /etc/nginx/.htpasswd; ao bloco location ou server. No Apache, use AuthType Basic, AuthName, AuthUserFile com o caminho completo do arquivo e Require valid-user. Depois, recarregue o servidor; um erro de sintaxe fará todas as requisições falharem, não apenas os logins.

Cifrões e HTTP simples

O hash contém muitos caracteres $, e arquivos do Docker Compose, arquivos .env e alguns rótulos de proxy interpretam $ como o início de uma variável. No Compose, escreva cada $ como $$; caso contrário, o hash será reduzido silenciosamente e nenhuma senha corresponderá.

A autenticação básica envia o nome de usuário e a senha em todas as requisições, codificados, mas não criptografados. Use-a atrás de HTTPS e trate-a como uma barreira para sites de staging e caminhos administrativos, não como um sistema de login para clientes.

Como usar

  1. Digite um nome de usuário e uma senha.
  2. Deixe o algoritmo em Apache MD5, a menos que você tenha um motivo para mudar.
  3. Copie a linha gerada para o seu arquivo .htpasswd.

Privacidade e limitações

A senha é transformada em hash no seu navegador e nunca é enviada a lugar nenhum. Nada é registrado, e o sal vem da própria fonte aleatória criptográfica do seu navegador, então duas pessoas gerando uma linha para a mesma senha não obtêm o mesmo hash.

Ferramentas relacionadas

Perguntas frequentes

Qual algoritmo devo escolher?

Apache MD5 ($apr1$), o padrão aqui. Ele é salgado e iterado, e tanto o Apache quanto o nginx o aceitam. A opção {SHA} é um digest SHA-1 sem sal, mantida apenas para configurações antigas que a exigem — a própria ferramenta htpasswd do Apache rotula essa opção como insegura, porque senhas idênticas produzem hashes idênticos e uma tabela de consulta as quebra.

Isso é tão forte quanto bcrypt?

Não. bcrypt é a opção mais forte e o Apache o suporta, mas ele não pode ser gerado aqui — exigiria uma implementação de Blowfish, o que seria muito código para incluir e confiar. Se você quiser bcrypt, rode localmente htpasswd -B -n username e cole o resultado.

Posso verificar uma linha antes de confiar nela?

Sim, e vale a pena fazer isso. Salve em um arquivo e rode htpasswd -vb yourfile username password — o Apache dirá se autentica. Essas linhas são verificadas tanto com htpasswd quanto com openssl passwd -apr1.

Ferramenta grátis · no seu navegador execuções · não precisa de conta