Тема: Text Cryptor
Показать сообщение отдельно
  #3  
Старый 05.02.2009, 18:41
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

Шифруем/дешифруем строку, остальное сам догадаешься как сделать, наверно

Код:
unit CUnit;

interface

const
  XDefKey = 15;
  SDefKey = '15';

function XDeCode(S: String; Code: Integer = XDefKey): String;
Function SCrypt(Text: String; Encode: Boolean = True; Key: String = SDefKey): String;

implementation

function XDeCode(S: String; Code: Integer): String;
var
T: Integer;
begin
for T := 1 to Length(s) do
S[T]   := CHR(ORD(S[T]) xor Code);
RESULT := S;
end;

Function SCrypt(Text: String; Encode: Boolean; Key: String): String;
Var
I, KeyLength : integer;
Sign         : ShortInt;
Begin
KeyLength := Length(Key);
If Encode then
Sign      := -1 else
Sign      := 1; //шифровать или расшифровывать?
For I := 1 to Length(Text) do
//код символа исходного текста складывается с кодом символа ключа
// пароль при этом умножается
Text[i]   := CHR(ORD(Text[i]) + Sign * ORD(Key[I mod KeyLength + 1]));
Result    := Text;
End;

end.
Ответить с цитированием