rendered paste bodyunit U_CriptDecript;
interface
uses
Forms, Math, StdCtrls, Controls, Classes;
type
TMainWindow = class(TForm)
Label1: TLabel;
Cript_Input_Edit: TEdit;
Label2: TLabel;
Decript_Input_Edit: TEdit;
Cript_Output_Edit: TEdit;
Label3: TLabel;
Label4: TLabel;
Decript_Output_Edit: TEdit;
procedure Cript_Input_EditChange(Sender: TObject);
procedure Decript_Input_EditChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainWindow: TMainWindow;
implementation
{$R *.dfm}
procedure CriptDecript(cript: boolean; input: string; var texto: string);
var
i, x: integer;
begin
for i := 1 to Length(input) do
begin
x := Trunc(1*Power(i, 5) + 5*Power(i, 4) + 1*Power(i, 3) + 2*Power(i, 2)
+ 7*Power(i, 1) + 1);
if (cript) then
texto := texto + Char((x + Ord(input[i])) mod 256)
else
texto := texto + Char(Ord(input[i]) - x);
end;
end; { CriptDecript }
procedure TMainWindow.Cript_Input_EditChange(Sender: TObject);
var
texto: string;
begin
CriptDecript(true, Cript_Input_Edit.Text, texto);
Cript_Output_Edit.Text := texto;
end; { TMainWindow.Cript_Input_EditChange }
procedure TMainWindow.Decript_Input_EditChange(Sender: TObject);
var
texto: string;
begin
CriptDecript(false, Decript_Input_Edit.Text, texto);
Decript_Output_Edit.Text := texto;
end; { TMainWindow.Decript_Input_EditChange }
end.