Isso está documentado na mana crypt(3)
, que você pode encontrar via página de manual do shadow(5)
, ou passwd(5)
's . Esses links são apropriados para sistemas modernos baseados em Linux; a descrição lá é:
If salt is a character string starting with the characters "$id$" followed by a string optionally terminated by "$", then the result has the form:
$id$salt$encrypted
id identifies the encryption method used instead of DES and this then determines how the rest of the password string is interpreted. The following values of id are supported:
ID | Method ───────────────────────────────────────────────────────── 1 | MD5 2a | Blowfish (not in mainline glibc; added in some | Linux distributions) 5 | SHA-256 (since glibc 2.7) 6 | SHA-512 (since glibc 2.7)
Portanto, se uma senha com hash estiver armazenada no formato acima, você poderá encontrar o algoritmo usado observando o id ; caso contrário, é o algoritmo DES padrão de crypt
.
Outras plataformas suportam outros algoritmos, portanto, verifique a% man_de% manpage lá. Por exemplo, O crypt
do OpenBSD suporta o DES (que é o padrão desde o Unix V7) e o Blowfish, que ele identifica usando o id “2b”.