Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.12.2014, 21:58
gen105187 gen105187 вне форума
Прохожий
 
Регистрация: 13.11.2014
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Доброго время суток выручайте

воющем написал сеть фейшеля все работает отлично но из файла берется почему то только первый блок шифрования 64 бита остальные не читаются сам код
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Memo4: TMemo;
    Button1: TButton;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Edit2: TEdit;
    Button2: TButton;
    Memo5: TMemo;
    Memo6: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  lev,rev,i,j,p,o:integer;
  key:array[1..6] of integer;
  ff,ff1,ff2,ff3,ff4:file of integer;

implementation

{$R *.dfm}

function F(l,k,p:integer):integer;
begin
 F:=(l+k) xor p;
end;

function F1(l,k,p:integer):integer;
begin
 F1:=(l-k) xor p;
end;

function F2(l,k,p:integer):integer;
begin
 F2:=(l*k) xor p;
end;


procedure TForm1.Button1Click(Sender: TObject);
var j,i:integer;
begin
 

For j:=1 to 32 do
begin
  assignfile(ff,'input.txt');
 reset(ff);
 read(ff, lev);
 read(ff,rev);
closefile(ff);
   Memo4.Lines.LoadFromFile('input.txt');
 Memo1.Text:=IntToStr( lev)+' '+IntToStr(rev);
    If Edit2.Text='' then begin
     for i:=1 to 4 do   begin
      key[i]:=random(100000000);
      Edit2.Text:=IntToStr(key[i]);
             end;

             end
            else
            begin
            for i:=1 to 2 do   begin
            key[i]:=StrToInt(Edit2.Text) ;
            end ; end;




 end ;
 for i:=1 to 16 do
   begin
   p:=rev ;
   rev:=lev;
    if RadioButton1.Checked then lev:=F( lev,key[i],p);
     if RadioButton2.Checked then lev:=F1( lev,key[i],p);
      if RadioButton3.Checked then lev:=F2( lev,key[i],p);
 end ;
 p:=lev;
 lev:=rev;
 rev:=p;
 Memo3.Text:=IntToStr( lev)+' '+IntToStr(rev);
 assignfile(ff2,'ouput1.txt');
 rewrite(ff2);
 write(ff2,lev,rev);
 closefile(ff2);
 Memo2.Lines.LoadFromFile('ouput1.txt');

end;
 
procedure TForm1.Button2Click(Sender: TObject);

begin
if Edit2.Text='' then begin  MessageBox(Self.Handle, PChar('нужен ключ  .')
    , PChar('не правельный ключ  '), MB_OKCANCEL	); Button1.Click; end;

  For j:=1 to 32 do
begin
  assignfile(ff2,'ouput1.txt');
 reset(ff2);
 read(ff2, lev);
 read(ff2,rev);
closefile(ff2);   
 Memo5.Lines.LoadFromFile('ouput1.txt'); end;


  for i:=16 downto 1 do
   begin
   p:=rev ;
   rev:=lev;
    if RadioButton1.Checked then lev:=F( lev,key[i],p);
     if RadioButton2.Checked then lev:=F1( lev,key[i],p);
      if RadioButton3.Checked then lev:=F2( lev,key[i],p);
 end ;
  p:=lev;
 lev:=rev ;
 rev:=p;
    assignfile(ff3,'ouput2.txt');
 rewrite(ff3);
 write(ff3,lev,rev);
 closefile(ff3);
 Memo6.Lines.LoadFromFile('ouput2.txt');



end;

end.
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 02.12.2014 в 22:14.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:55.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025