Gerador de Unix Crypt
Gere um hash de senha com salt para o /etc/shadow no Linux.
Como usar Gerador de Unix Crypt
- Digite a senha que deseja hashear.
- Deixe o esquema em SHA-512 crypt ($6$), a menos que o sistema de destino precise de um mais antigo.
- Clique em Gerar e cole o hash no seu /etc/shadow, na sua variável do Ansible ou no seu arquivo cloud-init.
Sobre Gerador de Unix Crypt
Estes são os hashes que ficam no /etc/shadow no Linux. O formato é $id$salt$hash, e o id indica qual esquema o produziu: $1$ é MD5-crypt, $5$ é SHA-256 crypt, e $6$ é SHA-512 crypt. O SHA-512 crypt ($6$) é o padrão na maioria das distribuições Linux modernas, por isso é o padrão aqui também — se você está gravando um hash em um sistema moderno, esse é quase certamente o que você quer.
O MD5-crypt merece uma nota, porque seu nome engana as pessoas constantemente. Foi projetado por Poul-Henning Kamp para o FreeBSD, e apesar do nome não é um MD5 puro da sua senha — ele aplica o MD5 muitas vezes com um salt misturado, precisamente para desacelerar atacantes. Um hash $1$ e um hash MD5 puro são coisas totalmente diferentes e não são intercambiáveis. Ainda é o mais fraco dos três aqui, e só vale a pena escolher quando um sistema antigo não deixa outra opção.
Os três esquemas usam salt, então a saída é diferente a cada execução — isso está correto, não é um bug. O salt fica no meio da string para que o sistema possa lê-lo de volta ao verificar um login. Esses hashes são muito melhores do que um hash puro sem salt, mas para uma nova aplicação ainda são a escolha mais fraca, porque não exigem muita memória: custam tempo de CPU, mas pouquíssima RAM, então ataques por GPU escalam bem contra eles. Prefira bcrypt ou Argon2 nesse caso. Onde os hashes crypt realmente brilham é em trabalhos de sistema — scripts de criação de usuários, tarefas user do Ansible, campos passwd do cloud-init e imagens Docker, onde o sistema operacional espera exatamente esse formato e nada mais serve.
Perguntas frequentes
O que significam $1$, $5$ e $6$?
São identificadores de esquema no início do hash: $1$ é MD5-crypt, $5$ é SHA-256 crypt e $6$ é SHA-512 crypt. O salt vem em seguida, depois o próprio hash, separados por cifrões.
Por que o hash muda toda vez que clico em Gerar?
Porque um novo salt aleatório é gerado a cada execução e misturado. Ambos os hashes são válidos para a mesma senha — o salt fica armazenado dentro da string para que o sistema possa verificar um login mais tarde.
O $1$ é o mesmo que um hash MD5?
Não, e isso confunde as pessoas. O MD5-crypt foi projetado por Poul-Henning Kamp para o FreeBSD e aplica o MD5 muitas vezes com um salt. Não é um MD5 puro da sua senha, e os dois não são intercambiáveis.
Qual devo escolher?
SHA-512 crypt ($6$) — é o padrão na maioria das distribuições Linux modernas. Recorra ao $5$ ou ao $1$ apenas se estiver visando um sistema mais antigo que exija isso.
Devo usar hashes crypt na minha aplicação web?
Não. Eles usam salt e são muito melhores do que um hash puro, mas não exigem muita memória, então GPUs os atacam com eficiência. Use bcrypt ou Argon2 para senhas de aplicações e reserve o crypt para o /etc/shadow e o provisionamento de sistemas.
Minha senha é armazenada?
Não. Ela é enviada ao nosso servidor para ser hasheada, porque os navegadores não conseguem calcular crypt, depois é hasheada e descartada imediatamente — nunca registrada, nunca armazenada. Para uma senha real de conta em produção, executar o mkpasswd na sua própria máquina ainda é o hábito mais seguro.

