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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2010, 23:17   #1
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию Авторизация ( Логин / Пароль )

Есть форма Form1.


требуется проверка на сходство пароля и логина.

Логин и пароль намерен хранить в файле.... но как зашифровать их?

подскажите...
Изображения
Тип файла: jpg Безымянный.jpg (15.3 Кб, 239 просмотров)
MeTeOpA вне форума Ответить с цитированием
Старый 13.06.2010, 23:31   #2
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

В прикрепленном файле класс для шифрования по алгоритму RC4.
Использование:
Код:
var
  crypt: TCrypt;
  data,buffer: TMemoryStream;
....
  crypt:=TCrypt.Create;
  data:=TMemoryStream.Create;
  buffer:=TMemoryStream.Create;
  data.LoadFromFile('имя_файла');
  crypt.ApplyRC4ToData(data,buffer,'ключ_шифрования');
  buffer.SaveToFile('имя_файла');
  data.Destroy;
  buffer.Destroy;
  crypt.Destroy;
Вложения
Тип файла: rar crypt.pas.rar (801 байт, 48 просмотров)
A_r_r_a_y вне форума Ответить с цитированием
Старый 14.06.2010, 00:13   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если условия задачи позволяют, то я бы рекомендовал, как таковой, пароль ВООБЩЕ не хранить!
Хранить от пароля ХЕШ (контрольную сумму. Например, MD5). После ввода пароля пользователя считать от введённого пароля MD5 и сравнивать с имеющимся хешем в БД. Если совпал - значит введён один и тот же пароль, не совпал - извините-подвиньтесь...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2010, 02:35   #4
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
если условия задачи позволяют, то я бы рекомендовал, как таковой, пароль ВООБЩЕ не хранить!
Хранить от пароля ХЕШ (контрольную сумму. Например, MD5). После ввода пароля пользователя считать от введённого пароля MD5 и сравнивать с имеющимся хешем в БД. Если совпал - значит введён один и тот же пароль, не совпал - извините-подвиньтесь...
вот насчет этого поподробнее пожалуйста...
MeTeOpA вне форума Ответить с цитированием
Старый 14.06.2010, 08:48   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробую пояснить слова уважаемого Serge_Bliznykov автору темы.

Пусть у Вас есть какой-то пароль в БД. А в файле есть хеш от этого имеющегося пароля. Когда пользователь вводит свой пароль, то сначала введенный пароль преобразуется в хеш, а затем сравниается в хешом правильного пароля, который хранится в БД. Если хэши совпадают, то пароль верен, если нет, то извиняйте-пинка получайте . На счет функции перевода в хэш, попробуйте погуглить. Вот что я нашел, может сами что-то тоже найдете:
Вот
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 14.06.2010, 14:24   #6
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

Если БД удаленная и стоит упор на безопасности, то лучше использовать какой-либо протокол аутентификации, например, chap
A_r_r_a_y вне форума Ответить с цитированием
Старый 14.06.2010, 14:42   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я не понимаю, а что за проблема взять СУБД, которая умеет свои данные защищать аутентификацией? Насколько я знаю все СУБД имеют модули безопасности, и пароли и пользователи в них настраивает Админ путем введения ролей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.06.2010, 15:10   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

artemavd, спасибо. Всё именно так.
Процитирую только слова W0LF:
http://delphiworld.narod.ru/base/md5.html
Сохрани в pas, подключи в uses и пользуйся на здоровье.

Цитата:
Сообщение от Stilet
а что за проблема взять СУБД, которая умеет свои данные защищать аутентификацией?
Ну, тут, как говорится, добавить нечего! Если есть такая возможность — то это, конечно, будет лучший вариант!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.06.2010, 21:56   #9
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

а где найти hash в бд?
MeTeOpA вне форума Ответить с цитированием
Старый 16.06.2010, 22:35   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а где найти hash в бд?
что Вы имеете в виду? Если сохранённый (вышеупомянутый MD5) для логина, то в таблице, где хранятся логины добавить столбец, в нём и хранить...

и рекомендую ещё раз прислушаться к совету Stilet
Цитата:
Сообщение от Stilet
взять СУБД, которая умеет свои данные защищать аутентификацией?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логин и пароль serega112000 Помощь студентам 3 03.02.2010 16:22
IdSMTP1 сохраняет логин и пароль! Черничный Работа с сетью в Delphi 6 25.11.2009 16:27
Как просмотреть пароль и логин? antonbard Операционные системы общие вопросы 6 11.11.2009 13:04
логин и пароль All517 Работа с сетью в Delphi 3 15.01.2009 15:46
Как узнать логин и пароль к dial-up соединению? ikonup Помощь студентам 2 25.01.2007 15:40