Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2018, 12:53   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию password mysql insert

Здравствуйте, кто знает - подскажите - как прописать в БД шифрование пароля пользователей. Работаю на Denwer стоит MySQL 5.5.25
Делаю просто регистрацию на php, все получается шифрует. Пробую на сайте, записывает чистый пароль. Может как вариант сделать непосредственно в БД ?
ROM710 вне форума Ответить с цитированием
Старый 09.04.2018, 13:40   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Пароли обычно хешируют, а не шифруют.
Цитата:
Сообщение от ROM710 Посмотреть сообщение
Работаю на Denwer стоит MySQL 5.5.25
Не работайте в каменном веке.

http://getjump.github.io/ru-php-the-...B0%D0%BB%D0%BE
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 09.04.2018 в 13:42.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2018, 15:49   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Тогда все что писал - md5 надо удалять ? и пробовать хеширование. Я прочитал getjump. Но дальше ? этот код <?php

require 'password.php';

$passwordHash = password_hash('secret-password', PASSWORD_DEFAULT);

if (password_verify('bad-password', $passwordHash)) {
//Правильный пароль
} else {
//Неправильный пароль
} помещаем в файле регистрации, а что писать в файле 'password.php' ?
ROM710 вне форума Ответить с цитированием
Старый 09.04.2018, 15:53   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

md5 это и есть хеширование.
... но устаревшее (не безопасное). Используйте SHA, bcrypt и т.п. (в современных версиях РНР есть)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2018, 17:52   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Спасибо за подсказку, еще вопрос - если не писать код php, а в БД MySQL можно прописать хеширование ?
ROM710 вне форума Ответить с цитированием
Старый 09.04.2018, 17:54   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну наверно можно что-то придумать, но зачем?
Пароль для проверки все равно же веб сервер получает, а не БД.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2018, 18:01   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Спасибо, будем учить.
ROM710 вне форума Ответить с цитированием
Старый 10.04.2018, 07:29   #8
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
md5 это и есть хеширование.
... но устаревшее (не безопасное)
что вы имеете виду под не безопасным? что есть базы с хешами?
Но можно использовать статическую соль конструкции вида
Код:
md5(md5($pass))
или же уникальную «соль»

На мой взгляд криптостойкость хэшей практически одинаковая в любом случаи придется перебирать пароли (если это пароли). Единственное что соглашусь что вероятность коллизий в sha-1 намного меньше, чем в md5.

В настоящее время распространены двухфазные аутентификации (если делать по уму) это требования реальной жизни я бы сказал. то тогда даже если у сольют все пароли и выложат в открытый доступ вы просто извинитесь и попросите сменить пароли, получить доступ злоумышленник все равно не сможет.

p. Если пользоваться одним из вариантов предложенным Alex11223 то можно сделать так:

Код:
$options = array(
    'cost' => 12,
);
$hash = password_hash($password, PASSWORD_BCRYPT, $options);
password_hash() создает случайную соль в случае, если она не была указана явно
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 10.04.2018 в 07:38.
Stanislav вне форума Ответить с цитированием
Старый 10.04.2018, 07:51   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так md5 же вроде очень быстро вычисляется и брутфорсить намного проще, чем другие хеши, так что соль тоже не поможет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.04.2018, 09:23   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так md5 же вроде очень быстро вычисляется
серьёзно? я отстал от жизни?!
и как быстро?
например, можете вычислить $pass для
c7a66de2fef0285ec61a560b97ac1aeb
(выведено командой echo md5(md5($pass))) ?


хотя, конечно, не вижу причин использовать устаревшие технологии, если есть новые.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INSERT в базу MYSQL Sergey_gorobets SQL, базы данных 1 16.06.2015 16:50
insert into mysql if not exist Abuhamed PHP 5 08.04.2012 18:59
Java + MySQL (Windows XP) не работает INSERT INTO Osanve Java Базы данных (JDBC, JPA, Hibernate) 10 28.06.2011 10:36
База Данных MySql не выполняется INSERT INTO vasylshvv Java Базы данных (JDBC, JPA, Hibernate) 6 04.08.2009 10:16
mysql проблемы с INSERT proglamer PHP 4 30.03.2008 14:36