Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.12.2011, 19:11
rojdennaya-letat rojdennaya-letat вне форума
Прохожий
 
Регистрация: 20.12.2011
Сообщения: 3
Репутация: 10
По умолчанию Программа в Delphi

Помогите, пожалуйста, написать программу!!!
Необходима программа, которая бы делала так:
При регистрации нового пользователя или смене пароля старого записывала бы в БД не сам пароль в открытом виде, и не его шифрованную версию, а его хэш.
При авторизации проводится сравнение не введенного паролля, а на основе введенного пароля рассчитывается значение хэш-функции и сравнивается с эталоном - если они совпадают, то пользователь авторизуется.
Т.е. программа, которая имеет систему авторизации, БД для хранения данных и некоторый алгоритм вычисления хэш-функции (например, MD5)
Буду очень благодарна!!!
Ответить с цитированием
  #2  
Старый 22.12.2011, 19:29
icsander icsander вне форума
Новичок
 
Регистрация: 17.04.2011
Сообщения: 87
Репутация: 10
По умолчанию

А где происходит регистрация ?
Компоненты для шифрования и хеширования различными методами
Ответить с цитированием
  #3  
Старый 22.12.2011, 19:53
rojdennaya-letat rojdennaya-letat вне форума
Прохожий
 
Регистрация: 20.12.2011
Сообщения: 3
Репутация: 10
По умолчанию

В базе данных
Ответить с цитированием
  #4  
Старый 22.12.2011, 21:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,031
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А не понимаю в чем проблема.
1. Все современные БД примерно так и делают.
2. Если тебе это надо сделать на уровне приложения, ну так в чем проблема? Программа подключается некоторым общим эккаунтом и проверяет по БД хэш пароля. Далее если совпало, то пускает дальше. Делов-то на полчаса...
Ответить с цитированием
  #5  
Старый 23.12.2011, 10:28
rojdennaya-letat rojdennaya-letat вне форума
Прохожий
 
Регистрация: 20.12.2011
Сообщения: 3
Репутация: 10
По умолчанию

Ну для хорошего программиста мб и на полчаса)))
Ответить с цитированием
  #6  
Старый 23.12.2011, 11:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,031
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от rojdennaya-letat
Ну для хорошего программиста мб и на полчаса)))

Ну так алгоритм я тебе дал.
Тут надо понимать, что на самом деле авторизация тут будет фейковая, т.е. на уровне программы, а работа с БД все-равно делается под некоторым специальным эккаунтом.

Условно говоря, тебе нужна таблица вида:
Код:
CREATE TABLE USERS
(
  ID INTEGER PRIMANY KEY,
  LOGIN VARCHAR(100) NOT NULL,
  PASS_HASH VARCHAR(32) NOT NULL -- md5
);

Ну и запрос из программы, который проверяет правильный ли хэш:
Код:
SELECT COUNT(*) FROM USERS
WHERE LOGIN=:LOGIN AND PASS_HASH=:HASH

Если запрос вернул что-то отличное от 1, то все плохо (конфликт или нет такого пользователя). Если ровно 1, то все ОК и пользователя пускаем.

ЗЫ. За готовым рещением - в раздел "Работа". Слишком уж неинтересная задача что бы ею заиматься.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter