PDA

Просмотр полной версии : [Вопрос] Хеширование паролей



Tanry
16.05.2023, 16:01
У меня в моде стоит хеширование паролей SHA256_PassHash, как мне создать ucp сайт?

Shaolinka
16.05.2023, 17:09
Приходишь ты такой в магазин, а продавец тебе в ответ: чего желаете? А ты такой: магазин. Просто одно слово, без каких-либо объяснений или чего-либо. Одно дело использовать функцию, хеширующую пароли по принципу: пароль + соль. Другое же создание UCP, которое требует не только базовых познаний в области HTML, но и обработки в плане серверной части, то бишь как минимум PHP. Не думаю, что тут есть энтузиасты, разрабатывающие такие столь увесистые в плане реализации системы за отзыв, поэтому Тебе, судя по всему, в стол заказов

Tanry
16.05.2023, 17:32
Я имею ввиду, мне нужен только код хеширования для паролей для сайта ucp.

Tanry
16.05.2023, 18:24
Мне даже только нужен файл, куда вставить код, сам код у меня есть, но я не знаю в какой файл именно его нужно вставить и как.

- - - Добавлено - - -

Или как вообще убрать это хеширование из мода?

Shaolinka
16.05.2023, 19:50
Если объяснять в кратце, то достаточно записывать в массив, хранящий пароль не хеш, созданный при помощи Sha256PassHash, а, непосредственно, сам пароль. Ну и к тому же, элемент перечисления, хранящий соль также стоило бы удалить, ну или, если у тебя отсутствует структура с метаданными игрока, то в таком случае соль хранится в двумерном массиве на MAX_PLAYERS и размер соли, который нужно снести. Такую же перспективу нужно проворачивать и с сохранением в таблицу, удаляя столбец, хранящий соль

Tanry
16.05.2023, 20:03
Вообще ничего не понял)

Shaolinka
16.05.2023, 20:17
Я не знаю каким образом объяснить иначе. Предоставь имеющийся код, возможно, на основе этого, смогу подкорректировать под нужные тебе реалии. Однако учти, что если отказаться от хеширования в угоду обыкновенных паролей, то, если пренебречь экранированием входящей строки(в нашем случае пароля) присутствует риск поймать SQL инъекцию. Да и в целом, практика использования хешированных паролей свидетельствует о том, что тебе важна защита данных твоих игроков, которая может запутать часть пользователей, воспользовавшихся данными из твоей таблицы(если она вдруг окажется в общем доступе) в своих, корыстных целях

Tanry
16.05.2023, 22:24
$password = $_POST['password'];
$salt = 'ZGxt3MSEE'; //запишу соль (для примера)
$hashed = hash('sha256', $password . $salt);
$hash = '1AEDF41427A95F6A041E2FF8C0F50B4E6ADC97F2EA6B5863E5FBC42CA3287310'; //наша хэш сумма из бд (для примера)
if (strcasecmp($hashed, $hash) == 0) {
//пароль верный, выполняем нужные действия
}
else {
//выводим сообщение о неверном пароле
}

Что-то такое, нужно переделать, и понять куда ставить.

Shaolinka
16.05.2023, 22:28
Тебе бы для начала сформировать эту самую авторизацию/регистрацию, а уж потом, исходя из имеющегося функционал, доделывать наиболее важную составляющую. Проще говоря, нужно понимать что и куда вставлять, всему есть своё место. Как минимум можно, посредством использования html тэгов сотворить некие кнопки, при нажатии на которые, будет выводиться соответствующий функционал.

Tanry
16.05.2023, 22:57
У меня сам сайт есть, только куда вот вставить это, хз...

Shaolinka
16.05.2023, 23:01
Нужно объективно смотреть на вещи: методом тыка это провернуть не удастся, ибо, как выше подмечалось, всему есть место и в случае, если свернуть не туда, система сгенерирует соответствующую ошибку/ошибки. Начни с малого: узнай, какой ЯП для разработки использует твой сайт. И, тогда уж, исходя из этой информации, пытайся искать документацию к нему, познавая его базовые вещи. Лишь усвоив суть дела, можешь начинать править код

Tanry
17.05.2023, 14:05
Вы сможете мне помочь, не разбираюсь.

Shaolinka
17.05.2023, 15:24
Я не программирую в веб направлении, потому не умею оперироваться ЯП, ответственными за это. Тебе, логичнее всего, если не хочется тратить деньги на поиск нужного человека, необходимо самому пойти путём, описанном мною выше. Иных вариантов у меня нет