Главная страница
    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
15-1143151386
Наиль
2006-03-24 01:03
2006.04.16
WinAmp+Delphi


2-1143787684
SergeyG
2006-03-31 10:48
2006.04.16
Объем .exe файла


3-1140441008
Mishenka
2006-02-20 16:10
2006.04.16
Можно ли узнать значение ключевого поля до добавления записи в та


2-1143886115
Raul
2006-04-01 14:08
2006.04.16
Как сделать индекс у объекта TImage переменной??


1-1142283322
Евгений Р.
2006-03-13 23:55
2006.04.16
Hint для DrawGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский