AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kryptographie

Ein Thema von schokoschnecke · begonnen am 26. Mai 2011 · letzter Beitrag vom 27. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
schokoschnecke

Registriert seit: 8. Nov 2010
7 Beiträge
 
#1

Kryptographie

  Alt 26. Mai 2011, 21:14
Hallo,
Ich schreibe morgen eine Klausur über Kryptographie und habe dieses Programm geschrieben. In der Schule hat es funktioniert. Es geht um Transposition, also dass der Text in Zeilen aufgeteilt wird und dann von oben nach unten aufgeschrieben wird. Nun funktioniert das Programm auf einmal nicht mehr, ich versteh es nicht, ich finde kein Fehler. Kann mir bitte jemand helfen?
Der Fehler muss im unteren Teil beim Verschlüsseln liegen, denn das Leerzeichen löschen, etc. läuft einwandfrei.


Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var text1,text2,text3: string;
i,laenge,laenge2,schluessel,anzahl,i2,i3 : integer;

begin

text1 := memo1.Lines.Text;

i := 1;
laenge := length(text1) + 1;

 repeat
  if text1[i] = ' then
  i := i + 1
  else
  begin
    text2 := text2 + text1[i];
    i := i + 1;
  end;
 until i = laenge;

 text2 := uppercase(text2);
 text2 := stringreplace(text2,chr(10),'',[rfreplaceall]);
 text2 := stringreplace(text2,chr(13),'',[rfreplaceall]);

 schluessel := strtoint(edit1.Text);

 repeat
 laenge2 := length(text2);

 if laenge2 mod schluessel > 0 then
  text2 := text2 + 'X' ;

 until laenge2 mod schluessel = 0;

 anzahl := laenge2 div schluessel;

 i := 1;
 text3 := '';

 for i2 := 1 to schluessel do
 begin
 i3 := 0;
 repeat
 begin
 text3 := text3 + text2[i];
 i3 := i3 + 1;
 i := i + schluessel;
 end
 until i3 = anzahl;
 i := i2 + 1;
 end;

 memo2.Lines.Text := text3;

end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Kryptographie

  Alt 26. Mai 2011, 21:25
Nun funktioniert das Programm auf einmal nicht mehr,
Interessant. Und verrätst du uns auch, was nicht funktioniert? Oder sollen wir hier raten?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: Kryptographie

  Alt 26. Mai 2011, 21:28
Also die erste Schleife kann man einsparen durch ein weiteres Delphi-Referenz durchsuchenStringReplace(). Ansonsten sind Fehler so gut wie nicht zu erkennen, da die Einrückung vor allem bei Schleifen nicht vorhanden ist.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Kryptographie

  Alt 26. Mai 2011, 21:50
Wenn Du statt repeat Schleifen for-Schleifen verwenden würdest, wäre viel leichter zu durchschauen, was das Programm genau macht. So ist es extrem undurchsichtig, aber auch auf den zweiten Blick ist kein Fehler zu erkennen. Wenn Du uns verraten würdest, was das Programm falsch macht, könnte man Dir vielleicht eher helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Kryptographie

  Alt 26. Mai 2011, 21:56
@rollstuhlfahrer STRG + D

außer dem entfernen von einigen Whitespaces, Uppercase und dem anhängen von n "X" tut das Programm doch nichts, wo ist die Verschlüsselung?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: Kryptographie

  Alt 26. Mai 2011, 23:28
@rollstuhlfahrer STRG + D
Im Browser heißt das "bookmarken". In Delphi kommt es bei mir zu: ... das wollen wir lieber jetzt nicht testen. Und in kwrite wird dann die Zeile auskommentiert.

außer dem entfernen von einigen Whitespaces, Uppercase und dem anhängen von n "X" tut das Programm doch nichts, wo ist die Verschlüsselung?
Die Verschlüsselung ist schon da, weil in der interessanten Konstruktion von for-Schleife (i2) und repeat-until-Struktur doch was in der Art hoch-runter passiert. Ich durchblicke das aber nicht.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Kryptographie

  Alt 27. Mai 2011, 00:09
Strg+D ist, "nur" in Delphi XE der CodeFormatter.

Also leider vollkommen "nutzlos" für jemanden ohne XE.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Kryptographie

  Alt 27. Mai 2011, 00:43
Eines meiner Lieblingszitate: "Grad ging es noch", nur noch getoppt von "Ich hab nix gemacht!".
Wenn es wirklich so ist, bleiben nur noch die Parameter, die sich ändern können, also der Text und der Schlüssel.
Der Schlüssel wird ungeprüft aus einem Textwert gebildet. Das kann schon mal krachen, falls es keine (Ganz)Zahl ergibt.
Vielleicht funktioniert das "Verschlüsseln" nicht, wenn die Textlänge kleiner ist als die Schlüsselzahl.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Kryptographie

  Alt 27. Mai 2011, 07:56
Im Browser heißt das "bookmarken". In Delphi kommt es bei mir zu: ... das wollen wir lieber jetzt nicht testen. Und in kwrite wird dann die Zeile auskommentiert.
In Kate tut sich gar nichts, in Geany wird die Zeile verdoppelt, in gEdit die Zeile gelöscht, in Nano das nächste Zeichen gelöscht, Vim springt ans Dateiende und im Textterminal wird der Eingabestream mit einem EOF geschlossen

Geändert von implementation (27. Mai 2011 um 08:01 Uhr)
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#10

AW: Kryptographie

  Alt 27. Mai 2011, 08:12
Wenn Du statt repeat Schleifen for-Schleifen verwenden würdest, wäre viel leichter zu durchschauen, was das Programm genau macht. So ist es extrem undurchsichtig, aber auch auf den zweiten Blick ist kein Fehler zu erkennen. Wenn Du uns verraten würdest, was das Programm falsch macht, könnte man Dir vielleicht eher helfen.
Zitat von rollstuhlfahrer:
Also die erste Schleife kann man einsparen durch ein weiteres Delphi-Referenz durchsuchenStringReplace(). Ansonsten sind Fehler so gut wie nicht zu erkennen, da die Einrückung vor allem bei Schleifen nicht vorhanden ist.
Heißt das, das man mit einem möglichst komplex und undurchschaubar gehaltenen Programmabschnitt eine teure Software vor unerlaubter Verbreitung schützen kann, wenn der so komplex und undurchschaubar gehaltene Programmabschnitt zum Beispiel die Seriennummer versteckt (verschlüsselt) oder halt die Begrenzung der Testphase auf, sagen wir, 30 Tage?

Dann bräuchte man ja nur diese Programmteile in einer so undurchschaubar gehaltenen Programmschleife verstecken, um eine höchstmögliche Sicherheit zu erreichen, auch dann, wenn es natürlich eine absolute Sicherheit niemals geben kann.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz