Mysql
 sql >> Database >  >> RDS >> Mysql

Metodo di hashing della password MySQL vecchio vs nuovo

In alcune condizioni potresti essere ancora in grado di impostare e utilizzare una "nuova password dell'algoritmo di hashing".
I server MySQL 4.1+ sono in grado di gestire entrambi gli algoritmi di accesso. Quale viene utilizzato è indipendente dalla variabile delle vecchie password. Se MySQL trova un hash lungo 41 caratteri che inizia con *, utilizza il nuovo sistema. E anche la funzione PASSWORD() è in grado di utilizzare entrambi gli algoritmi. Se il campo mysql.user.Password è sufficientemente ampio da memorizzare 41 caratteri e la variabile old-passwords è 0, verrà creata una "nuova" password. Il documentazione per old_passwords dice Variable Scope Both quindi potresti essere in grado di cambiarlo per la tua sessione.
Connettiti al server MySQL (con un client che è in grado di farlo nonostante le old_passwords=1 globali), ad es. HeidiSQL e prova quanto segue:

SET SESSION old_passwords=0;
SELECT @@global.old_passwords,@@session.old_passwords, Length(PASSWORD('abc'));

Se stampa 1, 0, 41 (significa che la old_passwords globale è attiva, ma per la sessione è disattivata e PASSWORD() ha restituito una "nuova" password) dovresti essere in grado di imposta una nuova password utilizzando il nuovo algoritmo per il tuo account all'interno della stessa sessione.

Ma se dreamhost vuole davvero disabilitare l'algoritmo delle nuove password, il campo mysql.user.Password sarà lungo meno di 41 caratteri e non c'è niente tu può fare al riguardo (tranne che assillarli).