Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql-Passwort-Hashing-Methode alt vs. neu

Unter bestimmten Bedingungen können Sie möglicherweise immer noch ein "neues Hashing-Algorithmus-Passwort" festlegen und verwenden.
MySQL 4.1+-Server können beide Anmeldealgorithmen verarbeiten. Welches verwendet wird, ist unabhängig von der Variablen old-passwords. Wenn MySQL einen 41 Zeichen langen Hash findet, der mit * beginnt, verwendet es das neue System. Und die Funktion PASSWORD() ist ebenfalls in der Lage, beide Algorithmen zu verwenden. Wenn das Feld mysql.user.Password breit genug ist, um 41 Zeichen zu speichern, und die Variable old-passwords 0 ist, wird ein "neues" Passwort erstellt. Der Dokumentation für alte_Passwörter sagt Variable Scope Both Sie können es also möglicherweise für Ihre Sitzung ändern.
Verbinden Sie sich mit dem MySQL-Server (mit einem Client, der dies trotz des globalen old_passwords=1 kann), z. HeidiSQL und versuchen Sie Folgendes:

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

Wenn es 1, 0, 41 druckt (was bedeutet, dass das globale old_passwords aktiviert ist, aber für die Sitzung deaktiviert ist und PASSWORD() ein "neues" Passwort zurückgegeben hat) Sie sollten in der Lage sein, ein neues Passwort festlegen Verwenden des neuen Algorithmus für Ihr Konto innerhalb derselben Sitzung.

Aber wenn Dreamhost den Algorithmus für neue Passwörter wirklich deaktivieren möchte, wird das mysql.user.Password-Feld weniger als 41 Zeichen lang sein und es gibt nichts Sie dagegen tun können (außer sie zu nörgeln).