Autor Beitrag
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Di 01.01.08 18:43 
Hi,
ich habe ein Simples Programm geschrieben womit man Text mit der Caesarverschlüsselung verschlüsseln und entschlüsseln (sollen) kann.
Die Verschlüsselung funktioniert einwandfrei :D
Die Entschlüsselung leider nicht :? :
Der Code läuft in einer Schleife, so oft bis der gesamte Text abgearbeitet ist
ausblenden Versuch
1:
2:
3:
int ascii = (int)Zeichen;
klartextzeichen =  (97 - ascii - Schluessel) % 26;
Klartext += (char)klartextzeichen;

ascii ... ascii - Zeichen
klartextzeichen ... Zeichen im klartext
Klartext ... gesamter Klartext

Da kommt aber nur Mist raus.
Wie müsste man es anders machen damit man den richtigen Text rausbekommt?
Vielen Dank im voraus :zustimm:
mfG
Leuchtturm :wave:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Di 01.01.08 19:10 
1. Falsche Sparte! :mahn:
2. Müssen da nicht Klammern hin?
ausblenden C#-Quelltext
1:
klartextzeichen =  (97 - (ascii - Schluessel)) % 26;					
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 01.01.08 19:22 
user profile iconLeuchtturm hat folgendes geschrieben:
ausblenden Versuch
1:
klartextzeichen =  (97 - ascii - Schluessel) % 26;					
"- ascii"? Wird das ein revertierter Cäsar oder wie oder was :gruebel: ?
Einen stinknormalen Cäsar für Kleinbuchstaben würde ich jedenfalls einfach so machen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
public static char Encrypt(char c, int rot)
{
  return (char)((c - 'a' + rot + 26) % 26 + 'a'); // +26 simuliert das "mathematische mod"
}

static void Main(string[] args)
{
  int rot = int.Parse(Console.ReadLine());
  char[] crypt = Console.ReadLine().ToCharArray().Select(c => Encrypt(c, rot)).ToArray();
  Console.WriteLine(new string(crypt));
  Console.WriteLine(new string(crypt.Select(c => Encrypt(c, -rot)).ToArray()));

  Console.ReadLine();
}


[edit] Decrypt-Methode entfernt *g* . [/edit]


Zuletzt bearbeitet von Kha am Di 01.01.08 20:08, insgesamt 1-mal bearbeitet
Tarry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Di 01.01.08 19:46 
Benutze bitte die Suche.
Hier findest du z.B. mehrere funktionierende Codes.

Gruß
Tarry

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Leuchtturm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mi 02.01.08 11:32 
Danke funktioniert :zustimm:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.