Mysql
 sql >> Base de données >  >> RDS >> Mysql

Méthode de hachage de mot de passe MySQL ancienne vs nouvelle

Dans certaines conditions, vous pourrez toujours définir et utiliser un "nouveau mot de passe d'algorithme de hachage".
Les serveurs MySQL 4.1+ sont capables de gérer les deux algorithmes de connexion. Lequel est utilisé est indépendant de la variable old-passwords. Si MySQL trouve un hachage de 41 caractères commençant par *, il utilise le nouveau système. Et la fonction PASSWORD() est également capable d'utiliser les deux algorithmes. Si le champ mysql.user.Password est suffisamment large pour stocker 41 caractères et que la variable old-passwords vaut 0, un "nouveau" mot de passe sera créé. Le documentation pour old_passwords dit Variable Scope Both vous pourrez donc peut-être le modifier pour votre session.
Connectez-vous au serveur MySQL (avec un client capable de le faire malgré le global old_passwords=1), par ex. HeidiSQL et essayez ce qui suit :

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

S'il imprime 1, 0, 41 (ce qui signifie que le mot de passe global old_passwords est activé, mais pour la session, il est désactivé et PASSWORD() a renvoyé un "nouveau" mot de passe), vous devriez pouvoir définir un nouveau mot de passe en utilisant le nouvel algorithme pour votre compte au cours de la même session.

Mais si dreamhost veut vraiment désactiver le nouvel algorithme de mots de passe, le champ mysql.user.Password contiendra moins de 41 caractères et il n'y aura rien de vous peut faire à ce sujet (sauf les harceler).