Gerador de htpasswd
Gere uma linha .htpasswd do Apache (usuário:hash) para HTTP Basic Auth, usando o MD5 $apr1$ do Apache, {SHA} SHA-1 ou o crypt tradicional. O hash é calculado no seu navegador — a senha nunca é enviada para lugar nenhum.
Entrada
Sem dois-pontos e sem espaços — o dois-pontos separa os dois campos no arquivo.
Configurações
bcrypt (htpasswd -B) é a opção moderna e mais segura, e funciona no Apache 2.4+. APR1 é a alternativa portátil para servidores Apache antigos ou que não são Apache. SHA-1 e crypt são apenas para configurações legadas — ambos são inseguros.
Saída
Cole isto no seu arquivo .htpasswd — um usuário por linha.
O hash sem o nome de usuário, para formatos de configuração que mantêm os dois separados.
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/htpasswd-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "correct horse battery staple",
"algorithm": "bcrypt"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `htpasswd-generator` tool (htpasswd Generator) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/htpasswd-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Gerador de htpasswd — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
O que é um arquivo .htpasswd?
.htpasswd é o arquivo simples que o Apache usa para guardar credenciais de HTTP Basic Authentication — a caixa de login que aparece antes de uma página carregar. Cada linha contém um usuário: um nome de usuário, um dois-pontos e um hash da senha dele.
admin:$apr1$dQ2mR8sT$Gk1p6oq9WcE1n0eXqYd0J.Você aponta o Apache para o arquivo com AuthUserFile, e ele verifica as senhas recebidas contra esses hashes. A senha em si nunca é armazenada.
Como usar
- Informe o nome de usuário e a senha.
- Escolha um algoritmo de hash (APR1, a não ser que você tenha um motivo para não usar).
- Clique em Gerar htpasswd e copie a linha para o seu arquivo
.htpasswd— um usuário por linha.
Um .htaccess correspondente fica assim:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-userQual algoritmo devo usar?
- bcrypt (
$2y$) — o padrão moderno e a opção mais forte que o Apache suporta. Ele é propositalmente lento e usa salt, exatamente o que se espera de um hash de senha: torna ataques de força bruta e quebra com GPU caros. É o que ohtpasswd -Bgera e funciona no Apache 2.4 e posteriores. Escolha este a não ser que tenha um motivo específico para não usá-lo. - APR1 (
$apr1$) — o MD5 próprio do Apache, com salt e 1.000 rodadas. É a alternativa portátil: funciona em todas as plataformas onde o Apache roda, incluindo servidores Apache 2.2 mais antigos e alguns softwares que não são Apache, e é o que ohtpasswd -mproduz. Use-o quando o bcrypt não estiver disponível. - SHA-1 (
{SHA}) — um digest SHA-1 simples e sem salt. Como não há salt, dois usuários com a mesma senha terão o mesmo hash, e ele cai facilmente com uma rainbow table. Existe para servidores antigos que não aceitam outro formato. - crypt — DES tradicional do Unix. Inseguro, só existe em Unix e ignora silenciosamente tudo o que vier depois do oitavo caractere da senha. Use apenas em configurações realmente antigas.
Algo a saber sobre o bcrypt especificamente?
Duas coisas. Primeiro, o bcrypt usa apenas os primeiros 72 bytes de uma senha — o restante é ignorado. Isso é inerente ao algoritmo, não uma limitação desta ferramenta, e 72 bytes é muito mais do que qualquer senha razoável precisa. Segundo, o hash é escrito com o prefixo $2y$, a tag que o próprio htpasswd -B do Apache usa; as variantes $2a$, $2b$ e $2y$ selecionam todas o mesmo algoritmo, então o resultado é verificado em qualquer lugar onde o bcrypt é aceito (Apache, Nginx, password_verify do PHP, e assim por diante).
A minha senha é enviada para algum lugar?
Não. Cada hash é calculado no seu navegador, em JavaScript. A senha nunca é transmitida, registrada ou armazenada, e a ferramenta funciona mesmo com a sua rede desconectada. (A versão antiga desta ferramenta enviava a senha para um servidor para gerar o hash — esta versão não precisa disso.)
Os hashes estão realmente corretos?
Sim, e vale verificar em vez de simplesmente confiar. Cada hash bcrypt é confirmado com o htpasswd -vbB do próprio Apache — uma implementação independente que verifica se o hash autentica a senha original. A saída APR1 é byte a byte idêntica à do openssl passwd -apr1 e do htpasswd -m, e a saída crypt corresponde ao crypt(3) do sistema, tanto em vetores de referência fixos quanto em pares de senha/salt gerados aleatoriamente — incluindo senhas não ASCII, onde uma implementação ingênua diverge silenciosamente.
Por que o hash muda toda vez que eu clico em Gerar?
Porque bcrypt, APR1 e crypt usam salt: um salt aleatório novo entra em cada hash, então a mesma senha produz uma string diferente a cada vez. É exatamente o que se quer — impede que um atacante que roube o arquivo perceba que dois usuários compartilham a mesma senha. Qualquer uma das linhas geradas autentica a mesma senha.