Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MySQL's PASSWORD() function

6 views
Skip to first unread message

qtrimble

unread,
Jun 14, 2011, 2:03:14 PM6/14/11
to
I'm using WAMPSERVER for my development environment (MySQL v 5.1.553,
PHP v 5.3.4) . The software that I am modifying uses the MySQL
PASSWORD() function which works fine locally. After moving the code
and database to the production server (MySQL v 5.0.77, PHP v 5.3.3) I
cannot log in.

Is there anything other than the versions that could cause this
behavior? I was thinking maybe PHP extensions but I do not know what
the PASSWORD() function depends on.

Luuk

unread,
Jun 14, 2011, 2:13:13 PM6/14/11
to

Something changed about storing passwords in MySQL between version 4.x
and 5.0

A compatibility switch was introduced in 5.0

I think it no longer exists in 5.1

All info is here:
http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html

If you have access to both systems check the output of:
SELECT PASSWORD('something');

and see if the output on both systems is the same,...

--
Luuk

qtrimble

unread,
Jun 14, 2011, 2:41:32 PM6/14/11
to

The documentation states that prior to MySQL 4.1, password hashes
computed by the PASSWORD() function are 16 bytes long which is what
the result is when I tried your suggestion (SELECT
PASSWORD('something')) on my production server but my production
server MySQL version is 5.0.77. My development server is returning 41
byte. I also never did an upgrade which the documentation suggests
upgrading to 4.1 and then to 5 or higher. I installed 5.0.77
directly. This seems strange to me...any suggestions?

Jerry Stuckle

unread,
Jun 14, 2011, 3:55:25 PM6/14/11
to

Ask in comp.databases.mysql.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstu...@attglobal.net
==================

Luuk

unread,
Jun 14, 2011, 4:00:38 PM6/14/11
to

on the link it says:
The way in which the server generates password hashes for connected
clients is affected by the width of the Password column and by the
--old-passwords option. A 4.1 or later .....

which refers to:
http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_old-passwords


--
Luuk

"Álvaro G. Vicario"

unread,
Jun 15, 2011, 5:26:55 AM6/15/11
to

I suppose you are talking about your application users, not MySQL users.

You can use OLD_PASSWORD() if you need to emulate the old format in a
new system:

http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_old-password


SELECT PASSWORD('abcd'), OLD_PASSWORD('abcd')

*A154C52565E9E7F94BFC08A1FE702624ED8EFFDA 2e64a4f078c68549


--
-- http://alvaro.es - �lvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programaci�n web: http://borrame.com
-- Mi web de humor satinado: http://www.demogracia.com
--

0 new messages