Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 1

Как сделать авторизацию по md5?

09.12.2017, 19:27. Показов 1531. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как сделать сравнение хэшированного пароля, сохраненного в бд с тем паролем, который ввел пользователь?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2017, 19:27
Ответы с готовыми решениями:

Как сделать авторизацию
Всем привет) вот решил реализовать простую авторизацию для своего сайта, и мне стало интересно... а что лучше использовать: 1) ...

Как сделать авторизацию пользователей ?
Здравствуйте ! Мне очень понравилась защита ВКонтакте. Создал сложную функцию, которая кодирует имя пользователя и пароль в кукис. Теперь...

Как сделать уникальный личный кабинет, авторизацию и баланс для каждого пользователя?
как сделать личный кабинет, авторизацию и баланс для каждого пользователя уникальный

11
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
09.12.2017, 20:24
https://secure.php.net/manual/... d-hash.php
https://secure.php.net/manual/... verify.php
И никаких md5
0
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 19:15
Цитата Сообщение от Jewbacabra Посмотреть сообщение
И никаких md5
А что с md5 не так? Были случаи взлома пароля по хэшу?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.12.2017, 19:30
https://secure.php.net/manual/ru/faq.passwords.php
0
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 20:02
Jewbacabra, ну а случаи все же взлома были или нет? Я просто не могу представить, как
современные компьютеры могут "обратить" эти хэширующие алгоритмы
? Грубой там или другой силы... мне непонятно. Например я делаю $hash= md5($login."Jewbacabra"); Каким образом можно будет узнать пароль, если никто не видел этот код и что я к логину еще добавил типа соль? Это только после взлома сервера можно узнать это. Так что эти рекомендации меня нисколько не убедили. И тупа следовать им я пока не собираюсь.

Добавлено через 4 минуты
А если просто подбирать пароль, пытаясь зайти на сайт и при этом на сайте нет никакой защиты от брута - тогда хоть 200 символов будет в хэше пароля... все равно не спасет.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.12.2017, 20:09
Цитата Сообщение от BKmm Посмотреть сообщение
Грубой там или другой силы... мне непонятно.
Гуглить hashcat.
Цитата Сообщение от BKmm Посмотреть сообщение
Это только после взлома сервера можно узнать это
После кражи хранилища с email - пароль. Не обязательно взлом в чистом виде, например может кто из сотрудников захочет так подзаработать.

Не по теме:

Цитата Сообщение от BKmm Посмотреть сообщение
Так что эти рекомендации меня нисколько не убедили. И тупа следовать им я пока не собираюсь.
Задачу упростили уже проще некуда. Вот одна функция создаёт кеш. Другая проверяет. Максимально надежно. Все. 2 стандарьных функции сделают все работу. Вручную ничего больше делать не надо. Ни соли генерить и т.д. Но нет, мы будем сопротивляться, md5 наше все.

1
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 20:14
Цитата Сообщение от Jewbacabra Посмотреть сообщение
После кражи хранилища с email - пароль. Не обязательно взлом в чистом виде, например может кто из сотрудников захочет так подзаработать.
Не понял.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Ни соли генерить и т.д. Но нет, мы будем сопротивляться, md5 наше все.
Почему же сопротивляться? Возможно, следующий сайт я буду делать по этим рекомендациям... просто не хочется менять уже сделанное. А еще больше хочется понять ЗАЧЕМ? Зачем мне так делать? Я уже объяснил же, что при бруте не имеет значение это хэширование.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.12.2017, 20:21
Цитата Сообщение от BKmm Посмотреть сообщение
Не понял.
Окажется у кого база с парами email и хеш пароля. У огромного числа пользователей на других ресурсах будет пароль тот же самый.
Цитата Сообщение от BKmm Посмотреть сообщение
Я уже объяснил же, что при бруте не имеет значение это хэширование.
Время выполнения http запроса все же достаточно большое, чтобы перебор занимал довольно долгое время. И можно, например, блокировать на час аккаунт после 5 неправильных паролей. Обычно так подбирают только очень простые пароли.
1
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 20:40
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Окажется у кого база с парами email и хеш пароля. У огромного числа пользователей на других ресурсах будет пароль тот же самый.
Ну и? Где связь между различными вариантами хэширования? Или имеется ввиду, что на мыле будет у него в md5, а у меня на сайте уже этот хэш не подойдет, потому что я выполняю новые рекомендации? Короче, полная хрень.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Время выполнения http запроса все же достаточно большое, чтобы перебор занимал довольно долгое время. И можно, например, блокировать на час аккаунт после 5 неправильных паролей. Обычно так подбирают только очень простые пароли.
Ну, и опять? Где выгода перехода на другое хэширования?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.12.2017, 20:47
Цитата Сообщение от BKmm Посмотреть сообщение
Ну и? Где связь между различными вариантами хэширования?
А связь в том, что от типа хеширования напрямую зависит время, за которое пароль взломают. Для простых алгоритмов это время будет достаточно низким, для сложных нереально большим.
Цитата Сообщение от BKmm Посмотреть сообщение
Ну, и опять? Где выгода перехода на другое хэширования?
Кто ставит пароль 12345 им особо ничем не поможет. Ну а остальным 95% очень даже поможет.
1
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 21:04
Цитата Сообщение от Jewbacabra Посмотреть сообщение
А связь в том, что от типа хеширования напрямую зависит время, за которое пароль взломают.
Ок... спасибо за ответы. Только на практике взломать пароль, который хэширован по md5 + соль невозможно. А при бруте алгоритмы хэширования не имеют значения.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
10.12.2017, 21:27
Цитата Сообщение от BKmm Посмотреть сообщение
Только на практике взломать пароль, который хэширован по md5 + соль невозможно. А при бруте алгоритмы хэширования не имеют значения.
Очень даже возможно. Тут критично время, а md5 вычисляется очень быстро, современные вычислительные мощности это позволяют. Пример ПО для взлома я уже приводил.
Ну и хочется повторить

Не по теме:

Задачу упростили уже проще некуда. Вот одна функция создаёт кеш. Другая проверяет. Максимально надежно. Все. 2 стандарьных функции сделают все работу. Вручную ничего больше делать не надо. Ни соли генерить и т.д. Но нет, мы будем сопротивляться, md5 наше все.



Добавлено через 16 минут
Ну и немного бенчмарков (использую phpbench), чтобы показать насколько md5 быстро вычисляется по сравнению с более совершенными алгоритмами
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
/**
 * @Revs(10)
 * @Iterations(5)
 */
class PasswordHashBench
{
    private $salt = 'hmd46ru4wtwhdt7uistvawye465yed6uias34';
    private $password = '40000обезьянв****сунулибанан';
 
    public function benchMd5()
    {
        $hash = md5($this->password.$this->salt);
    }
 
    public function benchPasswordHash()
    {
        $hash = password_hash($this->password, PASSWORD_BCRYPT);
    }
}
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/srv # ./vendor/bin/phpbench run PasswordHashBench.php --report=aggregate
PhpBench 0.13.0. Running benchmarks.
Using configuration file: /srv/phpbench.json
 
\PasswordHashBench
 
    benchMd5                      I4 P0     [μ Mo]/r: 2.240 2.200 (μs)    [μSD μRSD]/r: 0.080μs 3.57%
    benchPasswordHash             I4 P0     [μ Mo]/r: 52,781.700 53,746.401 (μs)  [μSD μRSD]/r: 1,456.701μs 2.76%
 
2 subjects, 10 iterations, 20 revs, 0 rejects
(best [mean mode] worst) = 2.200 [26,391.970 26,874.301] 2.400 (μs)
⅀T: 263,919.700μs μSD/r 728.391μs μRSD/r: 3.166%
suite: 133c9ca54f7c1872987ee0cf5af16757d6edc4a7, date: 2017-12-10, stime: 18:23:53
+-------------------+-------------------+--------+--------+------+-----+----------+--------------+--------------+--------------+--------------+-------------+--------+----------------+
| benchmark         | subject           | groups | params | revs | its | mem_peak | best         | mean         | mode         | worst        | stdev       | rstdev | diff           |
+-------------------+-------------------+--------+--------+------+-----+----------+--------------+--------------+--------------+--------------+-------------+--------+----------------+
| PasswordHashBench | benchMd5          |        | []     | 10   | 5   | 830,304b | 2.200μs      | 2.240μs      | 2.200μs      | 2.400μs      | 0.080μs     | 3.57%  | 0.00%          |
| PasswordHashBench | benchPasswordHash |        | []     | 10   | 5   | 830,312b | 50,982.800μs | 52,781.700μs | 53,746.401μs | 54,513.300μs | 1,456.701μs | 2.76%  | +2,356,225.89% |
+-------------------+-------------------+--------+--------+------+-----+----------+--------------+--------------+--------------+--------------+-------------+--------+----------------+
Аж 25 000 раз md5 быстрее, это если взламывать влоб
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2017, 21:27
Помогаю со студенческими работами здесь

Не получаеться сделать авторизацию
Здравствуйте, уважаемые пользователи. На протяжении суток мучаюсь с авторизацией пользователей и прошу вашей помощи. Много чего...

Помогите сделать авторизацию правильно
Доборого времени суток.Захотелось зделать стандартную вещь,чтобы пользователь введя логинчик и парольчик(которые хранятся в бедешечке)...

Сделать авторизацию по логину и паролю
Добрый день пытался так сделать авторизацию по логину и паролю, не выходит, что не правильно? &lt;html&gt; &lt;head&gt; ...

Пробую сделать на тестовом сайте авторизацию по БД
Добрый день,форумчане! Нашел код в интернете авторизации по БД, исправил его под свой код,но при отправки формы на обработчик просто...

Как сделать авторизацию
Есть сайт на PHP но он почему то не принимает include, как с помощью джаваскрипта сделать форму авторизации, а после авторизации чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru