Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Motor
Зарегистрирован: 18.01.2005 Сообщения: 36 Откуда: Оттуда
|
Добавлено: Чт Май 26 2005 13:29 Заголовок сообщения: Как реализовать авторизацию? На ЯВЕ |
|
|
Хочу сделать авторизацию пользьзователя к системе. Есть табличка с двумя полями. Так же есть форма полями. Как сделать, так чтобы те з начения которые вводятся в форме (Имя, Пароль) сравнивались со значениями в таблице (Имя,пароль)? _________________ Танцуют Все! |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пт Май 27 2005 15:11 Заголовок сообщения: |
|
|
А в чем сложность. Извлекаешь из БД запись для нужного пользователя.
Ну вот смотри, предположимЧто у тебя на форме два элемента для ввода, оба наследуются от JTextComponent. Тама есть метод getText().
Код: | Statement s = dbc.getStatement();
ResultSet r = s.executeQuery("select password from mytable where login="+user.getText());
r.next();
String pssw = new String(r.getBytes("password"), "cp1251");
if(pssw.equals(password.getText()))return true;
else return false;
|
Ну, что-то в этом роде, только надо смотреть логин на допустимость символов, а то создашь уязвимость в своей системе. |
|
Вернуться к началу |
|
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
Добавлено: Сб Май 28 2005 18:32 Заголовок сообщения: |
|
|
Вообще обычно пароль не хранят в наглую
Хранят ХЕШ, например MD5, при вводе пароля из него извлекается ХЕШ, и сравниваются Хеши!
Хеш - ето когда мы берем пароль и обрабатываем его специальным алгоритмом(MD5 например), алгоритм необратим(из хеша нельза получить пароль). Если взять хеширование 32 и более бит вероятность что для 2 паролей будет 1 хеш - почти нулевая.
Да и на перебор MD5 64 bit уйдет полгода.
Вообщем ето тема отдельного форума, поищи в нете доки.
Хотя если твоя система не сильно крута что б ее ломали или от взлома много зависило - немучайся. _________________ [ TiNiMi ] |
|
Вернуться к началу |
|
|
Motor
Зарегистрирован: 18.01.2005 Сообщения: 36 Откуда: Оттуда
|
Добавлено: Пн Май 30 2005 07:25 Заголовок сообщения: |
|
|
Спасибо. Буду пробовать.
Кстати MD5 уже не фаворит,его китайцы ломанули. Сейчас SH2 Какой-то модный алгоритм _________________ Танцуют Все! |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Май 30 2005 08:07 Заголовок сообщения: |
|
|
Увлечение модными алгоритмами это, конечно хорошо, вот только ты имеешь право использовать только сертифицированные алгоритмы, чтобы ФСБ всегда могло их поиметь. А еще обычно за границу (сша) поставляются ограниченные библиотеки, которые не позволяют использовать длинных ключей. А MD5 действительно уже можно сломать... |
|
Вернуться к началу |
|
|
Motor
Зарегистрирован: 18.01.2005 Сообщения: 36 Откуда: Оттуда
|
Добавлено: Пн Май 30 2005 09:53 Заголовок сообщения: |
|
|
Народ, теперь вроде авторизация заработала, только по ламерскому.
Пароль просто сравнивается с тем ,что хранится в базе. А как его закодировать, чтобы он хранился в хеше и сравнивался....... _________________ Танцуют Все! |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Май 30 2005 11:52 Заголовок сообщения: |
|
|
Вот тут я мало чего могу посоветовать. В некоторых, да наверное в большинстве, СУБД есть функция которая делает из строки ее hash. Вот, а еще смотри javax.crypto.*; javax.security.*; Сам я этимим вещами, к сожалению не занимался, поэтому не могу пососветовать ничего дельного. Но если сделаешь, напиши, пожалуйста как? |
|
Вернуться к началу |
|
|
Motor
Зарегистрирован: 18.01.2005 Сообщения: 36 Откуда: Оттуда
|
Добавлено: Вт Май 31 2005 08:16 Заголовок сообщения: |
|
|
Всё вроде заработало, всем спасибо. _________________ Танцуют Все! |
|
Вернуться к началу |
|
|
|