MySQL MD5 SELECT MySQL MD5 SELECT mysql mysql

MySQL MD5 SELECT


SELECT md5(CONCAT('Vwm', md5(CONCAT('123123', 'Vwm' )), '123123' )) ;

You need to concat() the strings then execute md5() on them.

This way it returns correctly the same value as your PHP script:

+--------------------------------------------------------------+| md5(CONCAT('Vwm', md5(CONCAT('123123', 'Vwm' )), '123123' )) |+--------------------------------------------------------------+| 422ad0c19a38ea88f4db5e1fecaaa920                             |+--------------------------------------------------------------+


String concatenation in MySQL requires using CONCAT()`. This;

md5( '123123' + 'Vwm' )

is actually adding a number to a string:

mysql> select '12123' + 'Vwm';+-----------------+| '12123' + 'Vwm' |+-----------------+|           12123 |+-----------------+

So your query is not the same as the PHP side, as you're not hashing the same string.


  • salt should be in your script
  • salted password in your database
  • your script is salting password and compare with salted version in db
  • if same consider OK