Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kryptologie Projekt in Delphi... HILFE !!! (https://www.delphipraxis.net/65881-kryptologie-projekt-delphi-hilfe.html)

Klaus01 22. Mär 2006 20:48

Re: Kryptologie Projekt in Delphi... HILFE !!!
 
Delphi-Quellcode:
procedure TForm1.verschluesselnClick(Sender: TObject);
var
    i,j,s:integer;
begin
 
  s:=strtoint(schluessel.text);
  for j:=1 to s do
    begin
      for i:=0 to memo3.Lines.Count-1 DO
        begin
          memo4.text:=memo4.text+memo3.lines.strings[i][j];
        end;
    end;
end;
so sollte es gehen...
alles in einer zeile

Grüße
Klaus

Jacqybaby 22. Mär 2006 21:58

Re: Kryptologie Projekt in Delphi... HILFE !!!
 
so ich hab mal einen verbalen Algirithmus für das entschlüsseln formuliert:

1. Ermittle Anzahl der Zeilen(memmo.lines.count)
2. Beginne mit dem 1. Buchstaben des verschluesselten textes.
3. (Springe 4 Stellen weiter, schreibe den (an dieser Stelle stehenden) Buchstaben)* schlüssel
4. (Gehe eine Stelle weiter, wiederhole 3.) solange bis length(verschluesselter text) .

Das müsste eigentlich funktionieren. Die Schwierigkeit ist jetzt aber das in Delphi zu formulieren.

Ich hab schon was versucht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s,z,i,j:integer;
    vtext:string;
begin
z:=memo3.lines.count;
s:=strtoint(schluessel.Text);
vtext:=memo4.Text;
memo3.Lines.Clear;
  for i:=0 to length(vtext) do
  begin
    for j:=1 to s Do
    begin
    XXXXXXXXX//hier müsste das innere der Klammer aus 3. und 4. formuliert werden...
    end;
  end;
end;
an der Stelle komme ich nicht weiter...

Jan 23. Mär 2006 01:51

Re: Kryptologie Projekt in Delphi... HILFE !!!
 
Ich verstehe nicht ganz, wo das problem ist..
Wenn das verschluesseln nun schon klappt, dann ist das entschluesseln doch bei diesem Algorithmus ein Kinderspiel, man invertiert einfach den Verschluesselungsalgo.

Delphi-Quellcode:
procedure TForm1.verschluesselnClick(Sender: TObject);
var
    i,j,s:integer;
begin
  //zunaechst memo3 leeren.
  s:=strtoint(schluessel.text);
  for j:=1 to s do
    begin
      for i:=0 to memo4.Lines.Count-1 DO
        begin
          memo3.text:=memo3.text+memo4.lines.strings[i][j];
        end;
    end;
end;
dazu muss natuerlich auch das memo4 in der spaltenform sein.

Gruss
Jan

Klaus01 23. Mär 2006 07:32

Re: Kryptologie Projekt in Delphi... HILFE !!!
 
setzt aus einem verschlüsselten String wieder den Originaltext zusammen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s,i,j,z:integer;
    vtext,otext:string;
begin
  s:=strtoint(schluessel.Text);  // Schlüssellänge
  z:=length(vtext) div s         // Anzahl der "Spalten"
  vtext:=memo4.Text;
  otext:='';
  for i:=1 to z do                    // durchlaufe die Spalte, äußere Schleife
    for j:=1 to s do                 //durchlaufe die Zeilen, innere Schleife
      otext:=otext+vtext[((j-1)*z)+i)] // klartext zeichen an position (j-1)*zeilenanzahl + spaltennummer      
end;
trockendurchlauf:
vtext = dsBiiteeeeilsis*inp*
mit s = 5
z = 4
spalte 1
otext:=otext+vtext[(0*4)+1] otext=d
otext:=otext+vtext[(1*4)+1] otext=di
otext:=otext+vtext[(2*4)+1] otext=die
otext:=otext+vtext[(3*4)+1] otext=dies
otext:=otext+vtext[(4*4)+1] otext=diesi

spalte2
otext:=otext+vtext[(0*4)+2] otext=diesis
otext:=otext+vtext[(1*4)+2] otext=diesist
otext:=otext+vtext[(2*4)+2] otext=diesiste
otext:=otext+vtext[(3*4)+2] otext=diesistei
otext:=otext+vtext[(4*4)+2] otext=diesistein

spalte3
...
spalte4
otext:=otext+vtext[(0*4)+4] otext=diesis..i
otext:=otext+vtext[(1*4)+4] otext=diesist..ie
otext:=otext+vtext[(2*4)+4] otext=diesiste..iel
otext:=otext+vtext[(3*4)+4] otext=diesistei..*
otext:=otext+vtext[(3*4)+4] otext=diesistei..**

Hoffe, es ist diesmal kein Denkfehler drin.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz