La funzione PASSWORD in MySQL può essere tradotta nel codice in php:
function mysql_password($string){
$pass = strtoupper(
sha1(
sha1($string, true)
)
);
$pass = '*' . $pass;
return $pass;
}
che restituisce un hash di 41 caratteri.
Sono preoccupato per questa funzione perché se eseguo:
SELECT PASSWORD('securepassword');
su qualsiasi dispositivo restituisce lo stesso hash:
*214C2FAF32F109AE748170BFABDDFB9B05889E64
Sicuramente questo significa che se il mio database viene violato un infiltrato può facilmente creare una tabella arcobaleno con un carico di password comuni e abbinare gli hash - non è qualcosa di cui dovrei preoccuparmi?
Speravo che la funzione PASSWORD fosse unica per ogni dispositivo? Come faccio a renderlo unico per ogni dispositivo?