Thema: Delphi Hilfe:Caesar-Verfahren

Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: Hilfe:Caesar-Verfahren

  Alt 10. Jan 2005, 17:22
Zitat von HelmHut:
ich muss bis Donnerstag, den 13.01.2005, ein Projekt abgeben. Ich soll mit Delphi einen Text im CAESAR-VERFAHREN verschlüsseln. Ich habe auch einen Quelltext gefunden, der aber für meine Verhältnisse zu schwer ist. Ich würde mich über eine Antwort mit einem LEICHTEREN QUELLTEXT freuen oder über eine ERKLÄRUNG MEINES QUELLTEXTES, da ich ihn inner Schule erklären muß. Ich bin sonst aufgeschmissen. BITTE UM HILFE!!!
Hallo,
zuerst mal herzlich willkommen im Delphi Praxis Forum.

Ein paar Punkte dind mit bei Deinem 1. Beitrag aufgefallen:
  1. Du hast in Tutorials und Kurse geposted
    Diese Sparte ist eigentlich dafür da um tutorials zu posten, nicht Fragen.
    Ich vermute das Du das nur nicht gewust hast weil Du neu hier bist.
    (An einen Admin: Kann man diesen Thread bitte verschieben?)
  2. Ich möchte Dich freundlich aber bestimmt auf den Verhaltenskodex hinweisen.
    Abschnit 2.3.2.3 ( http://www.delphipraxis.net/dpX_faq_...?faq=Q_10#Q_10 )

Da Du das bestimmt nicht mit Absicht gemacht hast, gebe ich Dir hier ein paar Tips und Hinweise (keine Lösung)

Was ist die Caesar Verschlüsselung?
Jeder Buchstabe wird um 3 Buchstaben verschoben.
Aus A wird D, aus B wird E, ...
Das könnte man z.B. so lösen:
Delphi-Quellcode:
var
  s: string;
...
begin
  s := 'Das ist ein Test.'
...
  s[2] = Chr( Ord(s[2]) + 3);
...
Mit s[2] greift man auf den 2. Buchstaben von der Zeichenkette s zu. (s[3] ist der 3. Buchstabe usw)

Ord( Buchstabe ) wandelt einen Buchstaben in den Ascii Wert um (Byte von 0 bis 255)
Chr( Ascii Wert ) wandelt einen Ascii Wert in einen Buchstaben um (Char)

Ein erfahrener Delphi Programmierer würde einen Anderen Befehl benutzen:
Delphi-Quellcode:
...
  inc(s[i], 3);
...
Damit wird der Ascii Wert auch um 3 Zeichen verschoben.

Zum Entschlüsseln verwendet man folgendes:
Delphi-Quellcode:
...
  s[2] = Chr( Ord(s[2]) - 3);
  // oder
  dec(s[i], 2);
...
Mit Length(s) bekommt man die Länge des Strings.

Also braucht man nur noch eine Schleife zu bauen vom 1. bis zum letztem Buchstaben und für jeden Buchstaben diese Verschlüsselung anwenden.

Mach Dir auch ein paar Gedanken zu den Buchstaben X, Y und Z.
Diese können nicht durch einfaches Addieren einer 3 verschlüsselt werden, da 'X' + 3 nicht A ergibt, sondern ein Sonderzeichen.

So, nun müsstest Du aber selbst zurecht kommen.

Viel Spaß
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat