sql >> Base de Datos >  >> RDS >> Mysql

Método de hash de contraseña Mysql antiguo vs nuevo

En algunas condiciones, es posible que aún pueda establecer y usar una "nueva contraseña de algoritmo hash".
Los servidores MySQL 4.1+ pueden manejar ambos algoritmos de inicio de sesión. Cuál se usa es independiente de la variable de contraseñas antiguas. Si MySQL encuentra un hash de 41 caracteres que comienza con *, utiliza el nuevo sistema. Y la función PASSWORD() también puede usar ambos algoritmos. Si el campo mysql.user.Password es lo suficientemente ancho para almacenar 41 caracteres y la variable de contraseñas antiguas es 0, se creará una "nueva" contraseña. El documentación para old_passwords dice Variable Scope Both por lo que es posible que pueda cambiarlo para su sesión.
Conéctese al servidor MySQL (con un cliente que pueda hacerlo a pesar de las antiguas_contraseñas globales =1), p. HeidiSQL e intente lo siguiente:

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

Si imprime 1, 0, 41 (lo que significa que las contraseñas antiguas globales están activadas, pero para la sesión están desactivadas y PASSWORD() devolvió una contraseña "nueva") debería poder establecer una nueva contraseña usando el nuevo algoritmo para su cuenta dentro de la misma sesión.

Pero si dreamhost realmente quiere deshabilitar el nuevo algoritmo de contraseñas, el campo mysql.user.Password tendrá menos de 41 caracteres y no hay nada usted puede hacer al respecto (excepto regañarlos).