La función PASSWORD en MySQL se puede traducir al código en php:
function mysql_password($string){
$pass = strtoupper(
sha1(
sha1($string, true)
)
);
$pass = '*' . $pass;
return $pass;
}
que devuelve un hash de 41 caracteres.
Me preocupa esta función porque si ejecuto:
SELECT PASSWORD('securepassword');
en cualquier dispositivo devuelve el mismo hash:
* 214C2FAF32F109AE748170BFABDDFB9B05889E64
Seguramente, eso significa que si se infringe mi base de datos, un infiltrado puede crear fácilmente una tabla de arco iris con una carga de contraseñas populares y hacer coincidir los hashes. ¿No debería preocuparme por esto?
¿Esperaba que la función CONTRASEÑA fuera exclusiva de cada dispositivo? ¿Cómo haría para que sea único para cada dispositivo?