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

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

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

Подскажите, пожалуйста, как сделать сравнение хэшированного пароля, сохраненного в бд с тем паролем, который ввел пользователь?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2017, 19:27
Ответы с готовыми решениями:

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

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

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

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

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

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

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

Не по теме:

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

1
BKmm
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 20:14 7
Цитата Сообщение от Jewbacabra Посмотреть сообщение
После кражи хранилища с email - пароль. Не обязательно взлом в чистом виде, например может кто из сотрудников захочет так подзаработать.
Не понял.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Ни соли генерить и т.д. Но нет, мы будем сопротивляться, md5 наше все.
Почему же сопротивляться? Возможно, следующий сайт я буду делать по этим рекомендациям... просто не хочется менять уже сделанное. А еще больше хочется понять ЗАЧЕМ? Зачем мне так делать? Я уже объяснил же, что при бруте не имеет значение это хэширование.
0
Jewbacabra
Эксперт PHP
3558 / 2956 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
10.12.2017, 20:21 8
Цитата Сообщение от BKmm Посмотреть сообщение
Не понял.
Окажется у кого база с парами email и хеш пароля. У огромного числа пользователей на других ресурсах будет пароль тот же самый.
Цитата Сообщение от BKmm Посмотреть сообщение
Я уже объяснил же, что при бруте не имеет значение это хэширование.
Время выполнения http запроса все же достаточно большое, чтобы перебор занимал довольно долгое время. И можно, например, блокировать на час аккаунт после 5 неправильных паролей. Обычно так подбирают только очень простые пароли.
1
BKmm
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 20:40 9
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Окажется у кого база с парами email и хеш пароля. У огромного числа пользователей на других ресурсах будет пароль тот же самый.
Ну и? Где связь между различными вариантами хэширования? Или имеется ввиду, что на мыле будет у него в md5, а у меня на сайте уже этот хэш не подойдет, потому что я выполняю новые рекомендации? Короче, полная хрень.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Время выполнения http запроса все же достаточно большое, чтобы перебор занимал довольно долгое время. И можно, например, блокировать на час аккаунт после 5 неправильных паролей. Обычно так подбирают только очень простые пароли.
Ну, и опять? Где выгода перехода на другое хэширования?
0
Jewbacabra
Эксперт PHP
3558 / 2956 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
10.12.2017, 20:47 10
Цитата Сообщение от BKmm Посмотреть сообщение
Ну и? Где связь между различными вариантами хэширования?
А связь в том, что от типа хеширования напрямую зависит время, за которое пароль взломают. Для простых алгоритмов это время будет достаточно низким, для сложных нереально большим.
Цитата Сообщение от BKmm Посмотреть сообщение
Ну, и опять? Где выгода перехода на другое хэширования?
Кто ставит пароль 12345 им особо ничем не поможет. Ну а остальным 95% очень даже поможет.
1
BKmm
10 / 46 / 7
Регистрация: 28.11.2017
Сообщений: 97
10.12.2017, 21:04 11
Цитата Сообщение от Jewbacabra Посмотреть сообщение
А связь в том, что от типа хеширования напрямую зависит время, за которое пароль взломают.
Ок... спасибо за ответы. Только на практике взломать пароль, который хэширован по md5 + соль невозможно. А при бруте алгоритмы хэширования не имеют значения.
0
Jewbacabra
Эксперт PHP
3558 / 2956 / 1315
Регистрация: 24.04.2014
Сообщений: 8,989
10.12.2017, 21:27 12
Цитата Сообщение от 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);
    }
}
Код
/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
10.12.2017, 21:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2017, 21:27

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

Как провести авторизацию
Здравствуйте, у меня есть два сайта. Хочу чтобы переходя по ссылки,...

Как установить авторизацию через вконтакте?
Как установить авторизацию через вконтакте? Прочитал вконтакте раздел...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru