Расшифровка строки, ранее зашифрованной фукцией UBPFD.Encrypt
Falk0ner, вс, 06/07/2008 - 15:35.
Расшифровка строки, ранее зашифрованной фукцией UBPFD.Encrypt
{ **** UBPFD *********** by kladovka.net.ru ****
>> Расшифровка строки
Предназначена для расшифровки строки, ранее зашифрованной фукцией UBPFD.Encrypt
Зависимости: UBPFD.Encrypt
Автор: Anatoly Podgoretsky, <a href="mailto:anatoly@podgoretsky.com">anatoly@podgoretsky.com</a>, Johvi
Copyright: (c) Anatoly Podgoretsky, 1996
Дата: 26 апреля 2002 г.
********************************************** }
const
StartKey = 471; // Start default key
MultKey = 62142; // Mult default key
AddKey = 11719; // Add default key
// обязательно смените ключи до использования
{$R-}
{$Q-}
function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
I : Byte;
//Если поменять тип переменной I на Integer, то будет возможно шифрование
//текста длиной более 255 символом - VID.
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+}
Пример использования:
>> Расшифровка строки
Предназначена для расшифровки строки, ранее зашифрованной фукцией UBPFD.Encrypt
Зависимости: UBPFD.Encrypt
Автор: Anatoly Podgoretsky, <a href="mailto:anatoly@podgoretsky.com">anatoly@podgoretsky.com</a>, Johvi
Copyright: (c) Anatoly Podgoretsky, 1996
Дата: 26 апреля 2002 г.
********************************************** }
const
StartKey = 471; // Start default key
MultKey = 62142; // Mult default key
AddKey = 11719; // Add default key
// обязательно смените ключи до использования
{$R-}
{$Q-}
function Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
I : Byte;
//Если поменять тип переменной I на Integer, то будет возможно шифрование
//текста длиной более 255 символом - VID.
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+}
S := 'Ваш старый пароль: <' + Decrypt(S, StartKey, MultKey, AddKey) + '>';
{ **** UBPFD *********** by kladovka.net.ru ****
>> Расшифровка строки InString, зашифрованной с помощью функции EncryptEX
Функция является модификацией UBPFD.Decrypt. Отличие в том, что UBPFD.DecryptEX расшифровывает шифр-текст, зашифрованный с помощью функции UBPFD.EncryptEX
Зависимости: UBPFD.Decrypt, UBPFD.AsсiiToStr
Автор: VID, <a href="mailto:vidsnap@mail.ru">vidsnap@mail.ru</a>, ICQ:132234868, Махачкала
Copyright: VID
Дата: 30 апреля 2002 г.
********************************************** }
Function DecryptEX(const InString:string; StartKey,MultKey,AddKey:Integer): string;
Begin
Result := Decrypt(AsciiToStr(InString), StartKey, MultKey, AddKey);
END;
>> Расшифровка строки InString, зашифрованной с помощью функции EncryptEX
Функция является модификацией UBPFD.Decrypt. Отличие в том, что UBPFD.DecryptEX расшифровывает шифр-текст, зашифрованный с помощью функции UBPFD.EncryptEX
Зависимости: UBPFD.Decrypt, UBPFD.AsсiiToStr
Автор: VID, <a href="mailto:vidsnap@mail.ru">vidsnap@mail.ru</a>, ICQ:132234868, Махачкала
Copyright: VID
Дата: 30 апреля 2002 г.
********************************************** }
Function DecryptEX(const InString:string; StartKey,MultKey,AddKey:Integer): string;
Begin
Result := Decrypt(AsciiToStr(InString), StartKey, MultKey, AddKey);
END;
Пример использования:
var S : String;
begin
S := UBPFD.EncryptEX ('String', 1,1,1);
//S является источником данных для функции UBPFD.DecryptEX
ShowMessage ('Расшифровка: '+UBPFD.DecryptEX (S, 1,1,1));
end;
begin
S := UBPFD.EncryptEX ('String', 1,1,1);
//S является источником данных для функции UBPFD.DecryptEX
ShowMessage ('Расшифровка: '+UBPFD.DecryptEX (S, 1,1,1));
end;
Отправить комментарий