Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама



**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17
  1. #1
    Аватар для Matt Nash
    Пользователь

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

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

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


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

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

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

    Статус
    Онлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    2,751
    Репутация:
    1085 ±
    Лучше SHA256_PassHash
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Сообщений
    59
    Репутация:
    14 ±
      Открыть/закрыть
    Попахивает кодом опубликованным на говноинфо, в разделе готовых решений.

    В предоставленном коде отсутствует функция 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
    Сообщений
    639
    Репутация:
    511 ±
    Цитата Сообщение от 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
    Сообщений
    639
    Репутация:
    511 ±
    Цитата Сообщение от 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
    Сообщений
    639
    Репутация:
    511 ±
    Цитата Сообщение от 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
    Сообщений
    62
    Репутация:
    78 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Хранить хэшированые пароли без соли - это то же, что хранить их в открытом виде.
    Хранить хэшированные пароли с солью в md5 - это то же, что хранить в открытом виде. (Вспоминая последние утечки у популярных сайтов).

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

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

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

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

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

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

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

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

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

Ваши права

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