Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

шифрование текстовых файлов   Найти похожие ветки 

 
santa ©   (2005-03-04 14:26) [0]

Объясните пожалуйста как работают эти функции кодирования и раскодирования(взял их у Anatoly Podgoretsky ):

interface
const
 StartKey = 981;        { Start default key }
 MultKey  = 12674;      { Mult default key }
 AddKey   = 35891;      { addd default key }

function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;

implementation

{$R-} {И вот это зачем нужно?}
{$Q-}

function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
 I : Integer;
begin
 Result := "";
 for I := 1 to Length(InString) do
 begin
   Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
   StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
 end;
end;

function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
 I : Integer;
begin
 Result := "";
 for I := 1 to Length(InString) do
 begin
   Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
   StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
 end;
end;
{$R+}
{$Q+}

end.


 
TUser ©   (2005-03-04 15:25) [1]

Это xor, только модуль по которому иксорим вычисляется для каждого нового символа. Характерно также, что функции Encrypt и Decrypt идентичны. А две функции - наверное, чтобы хакеров обманывать :)



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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.071 c
11-1093134962
SSSSS
2004-08-22 04:36
2005.03.20
Здравствуйте все! Как сделать ДЛЛ???


4-1107935853
lovres
2005-02-09 10:57
2005.03.20
Как узнать текущее разрешение экрана?


9-1103966490
GlintweiN
2004-12-25 12:21
2005.03.20
Помогите с установкой


1-1110295911
xmrz
2005-03-08 18:31
2005.03.20
Delphi 2005 & ASP .NET


3-1108895395
DelphiN!
2005-02-20 13:29
2005.03.20
Сохранение записи в БД ФБ