Gerador de htpasswd

Crie uma linha .htpasswd do Apache ou nginx e um cabeçalho de autorização HTTP Basic a partir de um nome de usuário e uma senha, com hash bcrypt, APR1 ou SHA-1, totalmente no seu navegador.

Carregando ferramenta…

Gerador de htpasswdDigite um nome de usuário e uma senha para obter duas coisas de uma só vez: uma linha .htpasswd pronta para colar na autenticação básica do Apache ou do nginx e o cabeçalho de autorização HTTP Basic correspondente que seu cliente enviaria. O cabeçalho é o base64 de user:pass e é atualizado na hora, enquanto a linha .htpasswd com hash é calculada ao pressionar Gerar. Tudo é executado localmente com a Web Crypto API e um hasher WebAssembly no navegador, então sua senha nunca é enviada a nenhum servidor.

O que é Gerador de htpasswd?

O Gerador de htpasswd é uma ferramenta gratuita no navegador para criar credenciais usadas pela Autenticação HTTP Basic. Administradores de sistemas e desenvolvedores web a usam para proteger um diretório ou painel de administração com nome de usuário e senha, sem instalar o utilitário de linha de comando htpasswd do Apache. Ela produz uma única linha user:hash que você adiciona a um arquivo .htpasswd, escolhendo bcrypt (o mais forte, formato $2y$), APR1 (o MD5 portátil do Apache, formato $apr1$) ou SHA-1 (formato SHA). Também deriva o cabeçalho Authorization: Basic correspondente para que você possa testar as mesmas credenciais com curl ou um cliente REST. O fator de custo do bcrypt é configurável em Configurações para um hash mais forte ou mais rápido.

Como usar Gerador de htpasswd

  1. Digite o nome de usuário que fará login.
  2. Digite a senha que protegerá a conta; ela permanece neste campo e nunca é enviada a lugar nenhum.
  3. Copie o cabeçalho de autorização Basic imediatamente se você só precisa dele para uma requisição de API ou um teste com curl.
  4. Abra Configurações para escolher o algoritmo de hash (bcrypt, APR1 ou SHA-1) e, para bcrypt, o fator de custo.
  5. Pressione Gerar para calcular a linha .htpasswd com hash e copie-a para o arquivo .htpasswd do seu servidor.

Exemplos

Linha bcrypt para um único usuário

Entrada

usuário: admin, senha: s3cret, algoritmo: bcrypt (custo 10)

Saída

admin:$2y$10$... (um hash bcrypt de 60 caracteres, sal aleatório a cada vez)

Cabeçalho HTTP Basic para um teste de API

Entrada

usuário: admin, senha: s3cret

Saída

Basic YWRtaW46czNjcmV0

Linha APR1 (MD5 do Apache) para configurações antigas

Entrada

usuário: web, senha: pass123, algoritmo: APR1

Saída

web:$apr1$<sal>$<hash de 22 caracteres>

Perguntas frequentes

Minha senha é enviada a um servidor?
Não. Tanto o cabeçalho Basic quanto o hash .htpasswd são calculados inteiramente no seu navegador com a Web Crypto API e um hasher WebAssembly no navegador. Nada é enviado nem armazenado em nenhum servidor, então a ferramenta funciona offline e sua senha nunca sai da página.
Qual hash devo escolher?
Use bcrypt para novas configurações; é o mais resistente à quebra e tem suporte no Apache e no nginx modernos. APR1 ($apr1$) é o MD5 portátil do Apache, útil para configurações antigas. SHA-1 ({SHA}) é o mais fraco e é melhor evitar, a menos que um sistema o exija especificamente.
Por que o botão Gerar demora um instante?
bcrypt e APR1 são propositalmente lentos para resistir a ataques de força bruta, e o bcrypt também carrega um pequeno módulo WebAssembly no primeiro uso. Um fator de custo maior deixa o bcrypt mais lento, porém mais forte. SHA-1 e o cabeçalho Basic são instantâneos.
Ele corresponde ao comando htpasswd real?
Sim. As linhas bcrypt usam o prefixo $2y$ que o Apache espera, o APR1 usa o formato padrão $apr1$ com sal aleatório e o SHA-1 usa o esquema {SHA}, todos compatíveis com arquivos gerados pelo htpasswd.
Posso usar isso para nginx?
Sim. O auth_basic_user_file do nginx lê o mesmo formato .htpasswd, então uma linha bcrypt ou APR1 funciona diretamente. O nginx não suporta {SHA}, então escolha bcrypt ou APR1 para ele.

Ferramentas relacionadas