![]() |
Entschlüsselung für Caesar
Hier ist unser Verschlüsselungs Code uns fehlen aber Ansätze zur Entschlüsselung.
Delphi-Quellcode:
Procedure TForm1.Caesar(Wort : String; var caesartext : String);
var x:Char; i,y,z:Integer; Begin i:=1; z:= length(Wort)+1; caesartext := ''; repeat x:= Wort[i]; y:= ORD(x)+1; caesartext:= caesartext+Chr(y); i:= I+1 until I=z; end; |
Re: Entschlüsselung für Caesar
Hallo,
ein paar Anmerkungen zu eurem (habt ihr einen Sammel-Account?) Code: Man macht solchen Code nicht zur Methode einer Form. Auch würde ich eine Funktion vorziehen anstelle einer Prozedur - ich übergebe ein Wort und erhalte das verschlüsselte Wort als Ergebnis zurück. Da sich beim Verschlüsseln mit dem Caesar-Verfahren die Zahl der Zeichen nicht ändert, würde ich eine Zählscheife verwenden und die Länge des Ergebnisses von vornherein festlegen. Zeichenweises Anhängen ist nicht so schön, weil dann die alte Variable oft verworfen werden muss und eine neue an anderer Stelle bereitgestellt wird - eine mitunter sehr zeitraubende Aktion. Und statt der Erhöhung um eins nehme ich die Funktion Succ() - sie liefert den Nachfolger, nicht nur bei Zahlen, sondern auch bei Zeichen. Euer Code sieht dann viel überschaubarer aus:
Delphi-Quellcode:
Wenn ihr jetzt noch herausfindet wie das Gegenstück von Succ() heißt, dann wird es ziemlich einfach die Funktion Decoded() zu schreiben.
function Encoded(wort: string): string;
var i: Integer; begin SetLength(Result, Length(wort)); for i := 1 to Length(wort) do Result[i] := Succ(wort[i]); end; Grüße vom marabu |
Re: Entschlüsselung für Caesar
Gegenstück ist
Delphi-Quellcode:
Ist zwar ein wenig spät, aber der Vollständigkeit halber :wink:
function Pred ( const Ordinal Value ) : Ordinal type;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr. |
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