![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где лучше сохранять список пользователей с паролями ? [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]Зависит от..
Например, от используемой СУБД.
А пароли вообще хранить не стоит - стоит хранить хеши паролей.