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 crypt
algoritmo DES predeterminado (con un hash de 13 caracteres), o crypt
el 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 crypt
manual allí. Por ejemplo, OpenBSDcrypt(3)
solo es compatible con Blowfish, que se identifica con la identificación "2b".