Алгоритм шифрование XOR

Материал из DRKB


Вот ужасно простой пример XOR шифрования - работает без глюков.

function XorCode(AText, AKey: string): string;
var
  LongKey: string;
  i: Integer;
begin
  Result := '';
  LongKey := ''; 
  for i := 0 to (Length(AText) div Length(AKey)) do
    LongKey := LongKey + AKey;
  for i := 1 to Length(AText) do
  begin
    Result := Result + Chr((Ord(AText[i]) xor Ord(LongKey[i]))); // XOR алгоритм
  end;
end;


Author: Igor N. Semenushkin
Source: http://delphiworld.narod.ru/



program Crypt;

{$APPTYPE CONSOLE}

uses Windows;

var
  key, text, longkey, result: string;
  i: integer;
  toto, c: char;
  F: TextFile;
begin
  WriteLn('Enter the key:');
  ReadLn(key);
  WriteLn('Enter the text:');
  ReadLn(text);

  for i := 0 to (Length(text) div Length(key)) do
    longkey := longkey + key;

  for i := 1 to Length(text) do
  begin
    // XOR алгоритм
    toto := Chr((Ord(text[i]) xor Ord(longkey[i])));
    result := result + toto;
  end;
  WriteLn('The crypted text is:');
  WriteLn(result);
  Write('Should i save it to result.txt ?');
  Read(c);
  if c in ['Y', 'y'] then
  begin
    AssignFile(F, 'result.txt');
    Rewrite(F);
    Writeln(F, result);
    CloseFile(F);
  end;
end.


Source: http://delphiworld.narod.ru/
ID: 04006