Вниз
Скачать: CL | DM;

И еще раз о хранении пароля   Найти похожие ветки 

 
eSKey   (2002-04-15 17:39) [0]

Спрашивал уже, боюсь меня не поняли.
Надо хранить зашифрованные данные. Но программа должна их расшифровывать для использования (т.е. в память), без ввода пароля простым юзером. Отсюда и вопрос - как прятать/шифровать пароль так, что бы его нельзя было просто прочитать по определенному адресу со стороны? Хэш не подходит, хэш это годится для проверки вводимого пароля.
Как Виндуз хранит свои пароли в пвл-ях ? Ведь имея один .pwl, взломать его хакеру довольно трудно, нужно ему иметь еще кой-чего с реестра? Или винда все-равно хранит какие-то уязвимые данные джля расшифровки?
Помогите, очень надо, не для хака/крака!


 
Reindeer Moss Eater   (2002-04-15 17:47) [1]

Тебе отвечали, боюсь ты не понял.
Скажи, КТО в твоем случае проверяет правильность пароля (твой код или чужой)?


 
eSKey   (2002-04-15 18:12) [2]

Чужого кода здесь вообще нет. Да и на правильность проверять пароль зачем? Нужно чтобы расшифровать определенный файл(ы) легко могла моя программа, а любой посторонний через большой геморрой.


 
Леха_   (2002-04-15 18:16) [3]

Не храни нигде а результат пусть напрямую зависит от правильности пароля(т.е. пароль является ключом)
при этом никаким дебагером пароль выцарапать не получится


 
Пиноккио   (2002-04-15 22:35) [4]

>>Ведь имея один .pwl, взломать его хакеру довольно трудно, >>нужно ему иметь еще кой-чего с реестра?
Больше ничего не надо, если имя юзера совпадает с именем pwl-файла, то есть для надёжности лучше ещё иметь System.ini, где может быть приблизительно такая строка:
[Password Lists]
PETJA=C:\WINDOWS\VANJA.PWL

По поводу хэширования.
Я использую следующую фунцию, но она не всегда возвращает уникальное значение, то есть если набрать пароль с ошибкой в один символ, то она все равно примет его за правильный :-((

function Hash4(const UsernamePassword: String): Integer;
var
I : Integer;
ID : Byte;
p0, p : PByte;
begin
Result := 0;
p0 := @Result;
for i := 1 to Length(UsernamePassword) do begin
id := ((i-1) mod 4);
p := p0;
inc(p, id);
p^:= p^ or Ord(UserNamePassword[i]);
end;
end;

Может быть, кто может подсказать более надёжную функцию.


 
mrcat ©   (2002-04-16 14:01) [5]

SHA-1



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
6-94536
avk
2002-02-15 22:51
2002.04.29
TStream...получение картинки...


6-94526
cypher
2002-02-17 17:01
2002.04.29
NetFileEnum в 9x


3-94316
fishka
2002-04-09 10:26
2002.04.29
Перевод базы с InterBase5.0 на InterBase 6.0


1-94380
Александр Арсентьев
2002-04-17 09:52
2002.04.29
глюки Делфи


3-94323
vopros
2002-04-09 13:16
2002.04.29
Срочно. Как в DbgridEH, сделать чтобы формат представления числа




   Наверх