Esto está documentado en crypt(3)la página del manual , que puede encontrar en shadow(5)la página del manual o passwd(5)en la . Esos enlaces son apropiados para los sistemas modernos basados en Linux; la descripción hay:
Si salt es una cadena de caracteres que comienza con los caracteres "$ id $" seguidos de una cadena opcionalmente terminada por "$", el resultado tiene la forma:
$id$salt$encrypted
id identifica el método de encriptación utilizado en lugar de DES y esto determina cómo se interpreta el resto de la cadena de contraseña. Se admiten los siguientes valores de id:
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)
Pez globo, también conocido como bcrypt, también se identifica por medio de prefijos 2, 2b, 2x, y 2y(véase la documentación del PassLib ).
Por lo tanto, si una contraseña cifrada se almacena en el formato anterior, puede encontrar el algoritmo utilizado mirando la identificación ; de lo contrario, es el cryptalgoritmo DES predeterminado (con un hash de 13 caracteres), o cryptel DES "grande" (extendido para admitir contraseñas de 128 caracteres, con hashes de hasta 178 caracteres de longitud), o DES extendido BSDI (con un _prefijo seguido de un hash de 19 caracteres).
Algunas distribuciones usan libxcrypt, que admite y documenta bastantes métodos más:
y: yescrypt
gy: gost-yescrypt
7: scrypt
sha1: sha1crypt
md5: SunMD5
Otras plataformas admiten otros algoritmos, así que revise la página de cryptmanual allí. Por ejemplo, OpenBSDcrypt(3) solo es compatible con Blowfish, que se identifica con la identificación "2b".