UTILS.
100% no navegador
🔒

Gerador de .htpasswd

Crie linhas de .htpasswd para Apache/nginx com hashes APR1-MD5 ou SHA-1 com salt, totalmente offline no seu navegador.

— a saída aparece aqui —
O Bcrypt não está incluído. O APR1-MD5 usa salt e é recomendado; o SHA-1 não usa salt, apenas legado.

Sobre esta ferramenta

Gere uma linha de credencial .htpasswd pronta para colar (usuário:hash) para autenticação HTTP Basic do Apache ou nginx. O nome de usuário, a senha e o hashing acontecem todos localmente no seu navegador — nada é enviado, e não há eval nem biblioteca externa.

Dois algoritmos são suportados. O APR1-MD5 (o formato $apr1$ do Apache) é implementado em JavaScript puro, incluindo um MD5 autocontido e o laço completo de crypt com salt de 1000 rodadas, com um salt aleatório de 8 caracteres extraído de crypto.getRandomValues. O SHA-1 usa o crypto.subtle.digest embutido do navegador, codificado em base64 e prefixado com {SHA}, correspondendo à saída de htpasswd -s. O Bcrypt é intencionalmente não incluído porque um bcrypt em JS puro correto e rápido é impraticável de rodar no lado do cliente.

Digite um nome de usuário e senha, escolha um algoritmo, e copie a linha resultante para o seu arquivo .htpasswd. Use Novo salt para regerar o salt do APR1 (cada salvamento produz um hash diferente para a mesma senha, o que é esperado e correto).

Perguntas frequentes

Minha senha é enviada para algum lugar?
Não. Todo o hashing roda inteiramente no seu navegador usando um MD5 embutido para APR1 e o crypto.subtle nativo para SHA-1. Nada é transmitido e não há eval.
Qual algoritmo devo escolher?
O APR1-MD5 ($apr1$) é o padrão recomendado do Apache e usa salt, então é o mais seguro dos dois aqui. O SHA-1 ({SHA}) não usa salt e é útil principalmente para configurações legadas ou compatibilidade com nginx.
Por que o hash APR1 muda toda vez?
O APR1 usa um salt aleatório de 8 caracteres, então a mesma senha produz um hash diferente a cada vez. Isso é por design; o Apache lê o salt de volta do hash armazenado ao verificar um login.
Por que o bcrypt não é oferecido?
O Bcrypt é deliberadamente excluído. Um bcrypt em JavaScript puro correto seria grande e lento no navegador, então esta ferramenta oferece os modos confiáveis e offline APR1-MD5 e SHA-1 em vez disso.

Mais ferramentas