Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 17
  1. #1
    Аватар для Matt Nash
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.10.2016
    Сообщений
    8
    Репутация:
    0 ±

    Несколько вопросов [md5, таймер]

    Доброго времени суток.
    Решил я однажды найти мод, в котором имеется регистрация с системой хеширования, наткнулся я на мод одного небезызвестного проекта под названием "Raknet". Честно говоря, сам код регистрации не очень понравился, но в том моде имеется хеширование, так вот, нормально ли использовать тот код?
    (ps. нашёл на другом портале)


    Может быть лучше использовать плагин от Владокса?

    Помимо системы регистрации я заметил, что в том моде используется Unix-таймер. В чём его плюсы и минусы? (ну, именно в SAMP)

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Лучше SHA256_PassHash
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. 2 пользователя(ей) сказали cпасибо:
    Disinterpreter (12.10.2016) Matt Nash (10.10.2016)
  4. #3
    Аватар для Redsan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.06.2016
    Адрес
    Minsk, Belarus
    Сообщений
    78
    Репутация:
    15 ±
      Открыть/закрыть
    Попахивает кодом опубликованным на говноинфо, в разделе готовых решений.

    В предоставленном коде отсутствует функция tolower. Хеширование пароля на RakNet'e использовалось для интеграции серверной базы с форумной(invision power board). На вашем месте я бы использовал обычное md5 хеширование. Если же вам всё таки нужно хеширование с солью, то воспользуйтесь вариантом предложенным DeimoS'ом.
    Могу предположить, что таймеры с использованием unix времени должны быть точнее, но как это реализовано в моде Raknet'a не знаю.
    Последний раз редактировалось Redsan; 10.10.2016 в 20:48.

  5. Пользователь сказал cпасибо:
    Matt Nash (10.10.2016)
  6. #4
    Аватар для Matt Nash
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.10.2016
    Сообщений
    8
    Репутация:
    0 ±
    Цитата Сообщение от Redsan Посмотреть сообщение
      Открыть/закрыть
    Попахивает кодом опубликованным на говноинфо, в разделе готовых решений.

    В предоставленном коде отсутствует функция tolower. Хеширование пароля на RakNet'e использовалось для интеграции серверной базы с форумной(invision power board). На вашем месте я бы использовал обычное md5 хеширование. Если же вам всё таки нужно хеширование с солью, то воспользуйтесь вариантом предложенным DeimoS'ом.
    Могу предположить, что таймеры с использованием unix времени должны быть точнее, но как это реализовано в моде Raknet'a не знаю.
    Да, этот код взят с того портала под спойлером, но это есть в самом моде RakNet

  7. #5
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Redsan Посмотреть сообщение
    На вашем месте я бы использовал обычное md5 хеширование.
    Хранить хэшированые пароли без соли - это то же, что хранить их в открытом виде.

  8. Пользователь сказал cпасибо:
    Matt Nash (10.10.2016)
  9. #6
    Аватар для Matt Nash
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.10.2016
    Сообщений
    8
    Репутация:
    0 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Хранить хэшированые пароли без соли - это то же, что хранить их в открытом виде.
    То есть правильно будет хранить пароли с кодом RakNet и инклудом Y_less?

  10. #7
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Matt Nash Посмотреть сообщение
    То есть правильно будет хранить пароли с кодом RakNet и инклудом Y_less?
    Нет, MD5 устарел и имеет некоторые недостатки. Более того, хэширование - это довольно сложный процесс и его лучше переложить на сторону компилируемых языков (C++). Поэтому, как уже указали выше, лучше воспользоваться функцией SHA256_PassHash. Но да, частично код из RakNet можно использовать.

    Для генерации соли я бы предпочёл использовать эту функцию. Тогда твой код мог бы выглядеть так:

    PHP код:
    GenerateRandomString(PlayerInfo[playerid][pass_salt], 56);
    SHA256_PassHash(inputtextPlayerInfo[playerid][pass_salt], PlayerInfo[playerid][pass_hash], 65); 
    Не забудь об изменении размера:
    PHP код:
    pass_hash[65],
    pass_salt[6

  11. Пользователь сказал cпасибо:
    Matt Nash (10.10.2016)
  12. #8
    Аватар для Matt Nash
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.10.2016
    Сообщений
    8
    Репутация:
    0 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Нет, MD5 устарел и имеет некоторые недостатки. Более того, хэширование - это довольно сложный процесс и его лучше переложить на сторону компилируемых языков (C++). Поэтому, как уже указали выше, лучше воспользоваться функцией SHA256_PassHash. Но да, частично код из RakNet можно использовать.

    Для генерации соли я бы предпочёл использовать эту функцию. Тогда твой код мог бы выглядеть так:

    PHP код:
    GenerateRandomString(PlayerInfo[playerid][pass_salt], 56);
    SHA256_PassHash(inputtextPlayerInfo[playerid][pass_salt], PlayerInfo[playerid][pass_hash], 65); 
    Не забудь об изменении размера:
    PHP код:
    pass_hash[65],
    pass_salt[6
    Если честно, я в этом хотел лишь разобраться. Подскажите, пожалуйста, в чём отличие между ними? Какие плюсы и минусы есть и как считывать пароль при авторизации?

  13. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Matt Nash Посмотреть сообщение
    Если честно, я в этом хотел лишь разобраться.
    Не похоже, если было бы желание, то сами бы разобрались.

    Цитата Сообщение от Matt Nash Посмотреть сообщение
    Подскажите, пожалуйста, в чём отличие между ними? Какие плюсы и минусы есть?
    Мне достаточно знать об отличиях в длине и отсутствии коллизий у sha, за остальным идите в гугл.

    Цитата Сообщение от Matt Nash Посмотреть сообщение
    как считывать пароль при авторизации?
    Считывать пароль самостоятельно не надо, он уже находится в inputtext. Но я понял, что нужен просто код, поэтому вот:
    PHP код:
    SHA256_PassHash(inputtextPlayerInfo[playerid][pass_salt], pass65);
    if (
    strcmp(passPlayerInfo[playerid][pass_hash], false) == 0) {
        
    // ok


  14. 4 пользователя(ей) сказали cпасибо:
    Blood (12.10.2016) Disinterpreter (12.10.2016) Matt Nash (11.10.2016) qwezert (12.10.2016)
  15. #10
    Аватар для Disinterpreter
    Проверенный

    Статус
    Оффлайн
    Регистрация
    02.01.2014
    Сообщений
    88
    Репутация:
    91 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Хранить хэшированые пароли без соли - это то же, что хранить их в открытом виде.
    Хранить хэшированные пароли с солью в md5 - это то же, что хранить в открытом виде. (Вспоминая последние утечки у популярных сайтов).

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

    Цитата Сообщение от Matt Nash Посмотреть сообщение
    Подскажите, пожалуйста, в чём отличие между ними?
    Защищенность любого алгоритма хеширования обуславливается сложностью хэша и его длинной. У md5 это всего лишь 32 символа. Это оставляет за собой множество коллизий (когда для этого хэша есть несколько истинных значений т.е можно использовать вместо пароля совершенно другой набор символов у которых похожий хэш).

    Такой хэш легко взломать. Атаки на хэш производят с помощью:
    тыц
    тыц

    Поэтому лучше использовать алгоритмы типа sha-2. С солью.

  16. Пользователь сказал cпасибо:
    Matt Nash (12.10.2016)
 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •