У меня проблема с SQL Server. Моя задача - реализовать простую пользовательскую систему на базе SQL Server с PHP. Базы данных также используются MMORPG, поэтому я не имею права изменять структуру базы данных или хэшировать аллогритмы. Настоящая причина моей проблемы в том, что пароль хешируется следующим логом
HashBytes('MD5', REVERSE(UPPER(@ID)) + @PW)
Я создал тестового пользователя с именем test123 и pw hallo123, который соответствует хэшу пароля "0x7CEE495091E11FF9560D3D016513332200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 * 1004
до этого момента все должно быть ясно. Хорошо, но когда я пытаюсь получить данные по запросу, я не получаю результатов. Я выполнил этот запрос:
mssql_query("SELECT * FROM [DB_Member].[dbo].[Member] WHERE ID = 'test123' AND PW = HashBytes('MD5', REVERSE(UPPER('test123')) + 'hallo123')");
Что не возвращает результата. Но если я напрямую запущу этот запрос
mssql_query("SELECT * FROM [DB_Member].[dbo].[Member] WHERE ID = 'test123' AND PW = 0x7CEE495091E11FF9560D3D01651333220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);
Я получаю данные без проблем
Я борюсь с этим сейчас около восьми часов, но не могу понять проблему.