Implications of Password Hashing Changes in MariaDB for Application Programs
An upgrade to MariaDB version 4.1 or later can cause compatibility issues for applications that use PASSWORD()
to generate passwords for their own purposes. Applications really should not do this, because PASSWORD()
should be used only to manage passwords for MariaDB accounts. But some applications use PASSWORD()
for their own purposes anyway.
If you upgrade to 4.1 or later from a pre-4.1 version of MariaDB and run the server under conditions where it generates long password hashes, an application using PASSWORD()
for its own passwords breaks. The recommended course of action in such cases is to modify the application to use another function, such as SHA1()
or MD5()
, to produce hashed values. If that is not possible, you can use the OLD_PASSWORD()
function, which is provided for generate short hashes in the old format. However, you should note that OLD_PASSWORD()
may one day no longer be supported.
If the server is running under circumstances where it generates short hashes, OLD_PASSWORD()
is available but is equivalent to PASSWORD()
.
PHP programmers migrating their MariaDB databases from version 4.0 or lower to version 4.1 or higher should see , "MySQL PHP API".