Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где лучше сохранять список пользователей с паролями ? [D7, Win95/98, WinME, Win2k, WinXP]


Alpine ©   (2005-09-04 21:04:00) 

Написал прогу складскую. Нужно сделать возможность добавления пользователей с возможностью управления их прав. Жду советов. Заранее благодарю всех откликнувшихся !


Anatoly Podgoretsky   (2005-09-06 09:15:00) [1]

Zacho ©   (06.09.05 08:12) [12]
Еше бы, особо развеселила эта фразы
Проблема в том что хеш функции используются для хранения паролей
Конечно не только она


Zacho   (2005-09-06 08:12:00) [2]

Igor_thief   (05.09.05 23:25) [11]

Повеселился :)


Igor_thief   (2005-09-05 23:25:00) [3]

Zacho ©   (04.09.05 21:30) [4]
Храни именно хеши, а не сами пароли. Тогда тебе будет пофиг, открыли пользователи или не открыли ..

Веселись :)
http://www.securitylab.ru/news/239725.php?phrase_id=73399


Anatoly Podgoretsky   (2005-09-05 10:40:00) [4]

Имя зашифрованую и расшифрованую последоватьельност - ключ вскрывается за доли секунды.


Big Joe   (2005-09-05 10:27:00) [5]

Шифруй этим...

const
 csCryptFirst = 20;
 csCryptSecond = 230;
 csCryptHeader = 'Crypted';

type
 ECryptError = class(Exception);

function CryptString(Str:String):String;
var i,clen : Integer;
begin
 clen := Length(csCryptHeader);
 SetLength(Result, Length(Str)+clen);
 Move(csCryptHeader[1], Result[1], clen);
 For i := 1 to Length(Str) do
  begin
   if i mod 2 = 0 then
    Result[i+clen] := Chr(Ord(Str[i]) xor csCryptFirst)
   else
    Result[i+clen] := Chr(Ord(Str[i]) xor csCryptSecond);
  end;
end;

function UnCryptString(Str:String):String;
var i, clen : Integer;
begin
 clen := Length(csCryptHeader);
 SetLength(Result, Length(Str)-clen);
 if Copy(Str, 1, clen) < > csCryptHeader then
  raise ECryptError.Create('UnCryptString failed');

 For i := 1 to Length(Str)-clen do
  begin
   if (i) mod 2 = 0 then
    Result[i] := Chr(Ord(Str[i+clen]) xor csCryptFirst)
   else
    Result[i] := Chr(Ord(Str[i+clen]) xor csCryptSecond);
  end;
end;


Defunct   (2005-09-05 01:27:00) [6]

Alpine   (04.09.05 22:30) [7]

Да уж придумай что-нить. Компонент точно не нужен. Тебе скорее всего нужна функция симметрического шифрования (xor или похожее).


Alpine   (2005-09-04 22:30:00) [7]

2 Defunct

А чем шифромать ?? Есть компонента ?


Defunct   (2005-09-04 21:41:00) [8]

Alpine   (04.09.05 21:20) [3]
> Но ведь её легко можно просмотреть

Шифруйте, чтобы просмотр ничего не дал.


> Надо чтоб её не смогли открыть пользователи !

Paradox таблицы можно и под досом просмотреть, так что тут только шифровать. И пусть себе смотрят на абракадабру.


Anatoly Podgoretsky   (2005-09-04 21:37:00) [9]

Прочитать и сжеть, или по партизански, прочитал дай почитать другому.


Zacho   (2005-09-04 21:30:00) [10]

Alpine   (04.09.05 21:20) [3]

Храни именно хеши, а не сами пароли. Тогда тебе будет пофиг, открыли пользователи или не открыли ..
А вообще, Парадокс и полноценное user security - понятия не совместимые.
Какая разница, сможет пользователь узнать какие-либо пароли или не сможет, если у каждого пользователя есть доступ ко всем файлам БД ???
Хочешь полноценное секьюрити - используй клиент-серверные СУБД, а не файд-серверные.

Кстати, хотя парадокс и поддерживает "пароли", но любой дурак без особого труда найдёт в сети "инженерные" пароли к Парадоксу.


Alpine   (2005-09-04 21:20:00) [11]

СУБД Paradox. В отдельной таблице понятно ! Но ведь её легко можно просмотреть !!! Надо чтоб её не смогли открыть пользователи !


Defunct   (2005-09-04 21:12:00) [12]

> Где лучше сохранять список пользователей с паролями ?

В отдельной таблице


Zacho   (2005-09-04 21:09:00) [13]

Зависит от..
Например, от используемой СУБД.
А пароли вообще хранить не стоит - стоит хранить хеши паролей.


Наверх

Титульная страница Поиск, карта сайта Написать письмо