Показать сообщение отдельно
  #8  
Старый 01.04.2009, 15:51
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

Цитата:
Сообщение от lmikle
Ну, для простоты сделай шифрование XOR'ом.

Код:
function Encode(AText, APass : String) : String;
var
  I : Integer;
  ALongPass : String;
begin
  If (Length(APass) < 5) Or (Length(APass) > 8) Then
     Raise Exception.Create('Пароль короче 5 или длиннее 8 символов.');
  Result := AText;

  // Для простоты делаем строку пароля кодирования
  // такой же длинны, что и данные. Просто копируя пароль.
  ALongPass := '';
  While Length(ALongPass) < Length(AText) Do
     ALongPass := ALongPass + APass;

  // А теперь шифруем XOR'ом
  For I := 1 To Length(AText) Do
    Result[i] := Chr(Ord(Result[i]) XOR Ord(ALongPass[i]));
end;

А как расшифровать то потом такой способ ???
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием