Вы получили запасной "в конце команды SQL The;. Также не требуется для клиента командной строки MySQL, за исключением (может привести к ошибке в зависимости от вашей клиентской библиотеки)
соленого хэш пароля. обычно проверяется путем получения соли строки (иногда это хранится в виде префикса к хеширован пароля), вычисляя соли и сравнивая результат
В псевдокоде:.
($id, $salt, $stored_hashed_password) = SELECT id, salt, hashed_password FROM members WHERE name=?
$entered_hash_password = hash_password($salt, $entered_cleartext_password)
if ($entered_hash_password == $stored_hash_password) {
say "Yeah, you got it!";
} else {
say "Go away!";
}
Сравнение должно быть, очевидно, сравнение строк.
Update: Очень простой пример о беспорядочных паролей:
Аут пароль: 10 Соль "строка": 5 Хэш функция: $ открытым текстом * $ соль Хэшировано пароль: 50
Никто не мог извлеките исходный пароль из хешированного пароля. Пароль может быть 25, 1, 50, 10, 5.
Реальные функции хэша намного сложнее и необратимы.
Функция hash_password(), используемая в примере псевдокода MUST будет использоваться при первоначальном хешировании паролей для их хранения в базе данных. Проверьте функции исходного кода, используемые для «смены пароля»
i фиксированный запрос, у меня его в .java-файле :) Я не понимаю, как настроить hash_password сейчас? мне нужно преобразовать строку, которую они вводят в хеш-пароль? – swipeales
Я добавил еще немного текста в ответ. Я думаю, что IPB написан на PHP, поэтому вы должны пойти на это. В противном случае вам нужно перестроить такую же процедуру хэша паролей в Java. Или начните с реального языка программирования, игнорируя как Java (просто доказательство концепции для ООП), так и PHP (Perl-препроцессор Perl на своей домашней странице);) – Sebastian
благодарит за добавление дополнительной информации, yeah IPB написан на PHP, но мое приложение Java представляет собой настольное приложение, которое нуждается в доступе к базе данных форума. Я видел много форумов ipb с приложением java для настольных компьютеров с учетными данными из учетной записи членов ipb. Могу ли я сделать это в любом случае проще в долгосрочной перспективе? возможно, webservice? ты предлагаешь мне что-нибудь? Я использую драйвер jdbc mysql на данный момент – swipeales