Por que a senha de sombra hash com sha512 contém 99 em vez de 129 caracteres?

0

Meu Linux está configurado para usar sha512 . No entanto, o arquivo /etc/shadow contém senha com hash com 99 caracteres apenas. Por que 99 e não 129 (64 * 2 + 1)? Note que eu mudei a senha depois de ter certeza que o sistema está configurado para usar o sha512.

Por favor, veja as saídas:

# grep sha512 /etc/pam.d/system-auth-ac
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
# grep ENCRYPT_METHOD /etc/login.defs
ENCRYPT_METHOD SHA512
# grep root /etc/shadow
root:$6$YwkRWeVN$z4Z7OKuohyyT/4gZgnOkKSWPaMvx1eCHFGNCiyFZx1QYydrEArO.HdH2JGCfosXg0sTnZFFdJnfw5QgfUqovO1:16175:0:99999:7:::

Observe que o hash da senha começa em $6$ , de modo que indica que é sha512 hash.

    
por Grzegorz 15.04.2014 / 23:31

1 resposta

5

O hash é armazenado no formato base64, o que significa que um charcter codifica 6 bits. Portanto, são necessários 512/6 = 86 caracteres (arredondados).

O hash começa após o terceiro (não o segundo) $ e termina antes do próximo cólon, que tem exatamente 86 caracteres. A string YwkRWeVN entre o 2º e o 3º $ é chamada de salt .

    
por 15.04.2014 / 23:57

Tags