Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Внизшифрование текстовых файлов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.038 c