Es, suponiendo que el hash es de la cadena completa . Mira lo que sucede cuando usas una función hash de contraseña que solo usa los primeros 8 caracteres de su entrada (esta es la función hash de contraseña Unix 'tradicional' (con salado)):
$ mkpasswd -s -S 00 <<<salt.password
002y63GMEzTFg
$ mkpasswd -s -S 00 <<<salt2.password
00OHzu67zQp/Q
Bien: esos dos son diferentes.
$ mkpasswd -s -S 00 <<<password.salt
00xQPHYlVDIw6
$ mkpasswd -s -S 00 <<<password.salt2
00xQPHYlVDIw6
Oops.
Tenga en cuenta que estoy pasando una sal fija a mkpasswd
; esto es para que su sal generada aleatoriamente no interfiera con el principio que estoy demostrando con salt
y salt2
antepuestos o agregados a la contraseña.
N.B. No estoy sugiriendo que nadie use realmente la antigua función crypt()
para las contraseñas de hash, en parte debido al problema de truncamiento que se muestra aquí, pero también porque la sal es demasiado corta, el hash resultante es demasiado corto y el algoritmo es mucho demasiado rápido para el hardware actual (una función de hash de contraseña debe ser lenta, para dificultar el craqueo, pero no tan lenta como para frustrar a los usuarios legítimos).