Как я могу войти в систему VB.NET. Хэшированный пароль, созданный в PHP
Я делаю форму входа в систему vb.net, но регистрация происходит на PHP (это своего рода обязательное условие в проекте).
Что я уже пробовал:
//register $password = strip_tags($_POST['password']) $password = $DBcon->real_escape_string($password); $hashed_password = password_hash($password, PASSWORD_DEFAULT); //login $query = $DBcon->query("SELECT id, username, password FROM users WHERE username='$username'"); $row=$query->fetch_array(); $count = $query->num_rows; if (password_verify($password, $row['password']) && $count==1) { $_SESSION['session'] = $row['id']; header("Location: home.php"); }
Как я могу войти в систему с помощью хэшированного пароля в моем VB?Чистая форма входа в систему?
Graeme_Grant
Разработчики жертвуют и жертвуют своим собственным временем бесплатно, чтобы помочь коллегам-разработчикам разрешить трудности. Важно, чтобы Вы были кристально ясны в том, что вы испытываете, с большим количеством информации, чтобы ваше и их время не было потрачено впустую. Чем яснее вопрос, тем больше шансов, что вы получите благоприятный ответ своевременно.
Пожалуйста, найдите время, чтобы просмотреть эти ссылки, прежде чем отправлять вопросы:
* Некоторые рекомендации по размещению вопросов на форумах[^]
* Сказки из Империи Зла-задавать вопросы-это навык[^]
Как только вы будете готовы обновить вопрос с четкими и краткими деталями, образцом кода, любыми сообщениями об ошибках (включая внутренние детали исключения) и т. д., Пожалуйста, нажмите на кнопку Улучшить вопрос чтобы добавить больше информации к этому вопросу.
F-ES Sitecore
Вы будете бороться, чтобы сделать это. Я не знаю PHP, но после того, как я нашел какую-то плохую документацию (это PHP, чего вы ожидаете), они, кажется, неохотно говорят вам, какой алгоритм используется, когда вы предоставляете PASSWORD_DEFAULT, и это намеренно, поскольку используемый алгоритм будет меняться с течением времени с новыми выпусками. Таким образом, в принципе, если вы не знаете алгоритм, вы не можете воспроизвести его в своем собственном коде. Однако это, кажется, использовать осуществляется
http://docs.php.net/manual/en/function.password-hash.php
Это проблема номер один у вас есть, проблема номер два заключается в том, что, поскольку вы не предоставили соль к паролю, он генерируется случайным образом для вас (опять же никаких подробностей о том, как это работает из-за плохой документации), и если вы не знаете, что такое соль, вы не можете воспроизвести хэш в другом месте.
Если вы действительно хотите это сделать, вам придется изменить свой PHP-код, чтобы использовать явный алгоритм, а не PASSWORD_DEFAULT, и Вам также придется использовать явную соль, а не случайную, которую вы получаете по умолчанию. Это будет означать обновление вашего существующего приложения, но при этом вам все равно придется обслуживать пользователей, у которых уже есть сгенерированные хэши.