Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

Пароли и *.ini   Найти похожие ветки 

 
FBI Agent ©   (2006-03-31 21:30) [0]

У меня в программе есть большая дырка, которую хотелось бы закрыть - это то, что пароль сохраняется в ини-файле в открытом виде, без всякого рода шифрования. Как сделать что-бы он шифровался и при проверке программа смогла его дешифровать?


 
Rial ©   (2006-03-31 21:41) [1]

Проще всего для начала зашихровать пароль с помощью операции XOR с использованием достаточно длинной строки и переменной точкой входа.



procedure XorData(Const Data:Pointer;Const DataSize:Integer;Const XorString:String);
Var ptData:ptVoidArray;
   I,J,SL,SN,N:Integer;
begin
SL:=Length(XorString);
If (SL<=0)then Exit;
ptData:=Data;
SN:=DataSize div SL;
For I:=0 to SN-1 do
 For J:=0 to SL-1 do begin
  N:=I*SL+J;
  ptData^[N]:=ptData^[N] xor Ord(XorString[J+1]);
  end;
SN:=DataSize mod SL;
For I:=1 to SN do begin
 N:=DataSize-SN+I-1;
 ptData^[N]:=ptData^[N] xor Ord(XorString[I]);
end;
end;



При чтении выполняешь повторно вызов процедуры - и все тип топ.

A xor B xor B=A.


 
Рамиль ©   (2006-03-31 21:43) [2]

md5


 
tesseract ©   (2006-03-31 21:43) [3]

самый лёгкий - XOR(нужной длины).
посложнее и надёжнее -  например MD5.  
Хранишь не пароль а его хэш. при вводе пароля создаёшь по нему хэш и сравниваешь с хранимым.  Один из самых нормальных методов. Т.к пароль не храниться в чистом виде.


 
FBI Agent ©   (2006-04-01 14:09) [4]

Дело в том, что XOR легко ломается, а вот с MD5 мне идея понравилась?
Никто не делал подобного?


 
Anatoly Podgoretsky ©   (2006-04-01 15:20) [5]

А зачем у тебя вообще пароли хранятся?


 
FBI Agent ©   (2006-04-01 17:09) [6]

А что программа может воспринимать пароль установленный пользователем, без его сохранения?


 
Anatoly Podgoretsky ©   (2006-04-01 17:35) [7]

Может и большинство программ пароли не хранят, что бы не было возможности его украсть.


 
tesseract ©   (2006-04-01 19:26) [8]


> Может и большинство программ пароли не хранят, что бы не
> было возможности его украсть.


Они использую эмпирически-предсказательный блок "e-Шамбала (rev /dev/random)" для определения имеет ли пользователь доступ к программе или нет.

см [3]



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

Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
1-1141234487
Unitay
2006-03-01 20:34
2006.04.16
Примечание в Excel


2-1144064395
ANB
2006-04-03 15:39
2006.04.16
Как синхронизировать доступ к компонентам формы ?


3-1140346654
mif-e
2006-02-19 13:57
2006.04.16
Как делокализовать БД?


10-1116485364
garra
2005-05-19 10:49
2006.04.16
Com-клиент под Delphi 7


2-1143867577
Homakk
2006-04-01 08:59
2006.04.16
подсветка синтаксиса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский