Originariamente inviato da Leonraf
Allora non riesco proprio a capire a che serve criptare le password nel database di mysql se cmq nessun utente esterno può accedervi...
mi pare di capire che ci sia un piccolo equivoco. I dati della connessione servono per fare connettere lo script php con a bordo un client ad un server mysql e sono gestiti dal gestore del server mysql che potresti anche essere tu stesso a seconda del contratto di hosting che hai stipulato. Con questi dati potrai accedere al tuo database.

I dati del login dello user registrato sono dati che permettono di accedere ad una area riservata del tuo database/script.

Mettiamo caso che "IL TUO" database venga "bucato" con una injection e che fornisca la lista di utenti e password registrati sul "TUO" database, otterra' una semplice lista di hash di 32/40 o piu' byte exadecimali che non potranno essere utilizzati dal form perche' nessun form con input = password prevede l'immissione di 32/40 caratteri exadecimali che se ben fossero accettati verrebbero trasformati in hash dell'hash digitato e quindi perfettamente inutilizzabili.

Quindi chi potesse ottenere la lista degli hash (l'hash non e' per definizione decriptabile) sara' costretto ad utilizzare un qualche modo per risalire alla password originale. Ora esistono online dei database di parole/password dove vengono memorizzate password hashate e l'equivalente codice ascii che le produce. Ovviamente le password piu' comuni saranno tutte presenti ed in pochi attimi si potra' ottenere la password in chiaro.

Ecco quindi, per concludere, che la forza di una password e' data dalla sua complessiva originalita' che comprenda piu' tipologie di caratteri e con una lunghezza di almeno 8-10 caratteri.

Va da se che se qualcuno puo' accedere al server con privilegi di root potra' fare tutto quello che gli pare ed anche qualcosa in piu'. user e password sarebbero assolutamente inutili.