D
DenTureS
Gast
Hallo liebe User,
ich habe zur Zeit ein Softwareprojekt an unserer Schule zu laufen und wollte ein Programm in Java schreiben, welches mir ermöglicht einen Klartext durch Caesar und Vigenère zu kodieren und dekodieren zu können.
Ich habe schon 2 Choice eingebaut. Einen man zwischen Caesar und Vigenère auswählen kann und einen wo man auswählt ob man den Klartext kodieren oder dekodieren möchte.
Habe dann noch nen paar Buttons für Löschen und Starten und noch ein paar Text Areas für den Key, den Klar- und Geheimtext.
So nun zu meiner eigentlichen Frage. Also meine Caesar Verschlüsselung funktioniert, allerdings bekomm ich die Vigenère nicht wirklich hin. Immer wenn ich den Key eingebe und den Klartext kodieren, bzw. dekodieren will, bleibt die Text Area mit dem Geheimtext leer =/
Ich gebe euch mal meinen Quelltext zu dem Programm. Könntet Ihr euch mal den Teil zu Vigenère angucken und mir dabei helfen, dass man den Klartext verschlüsseln und entschlüsseln kann?
Ich hoffe Ihr könnt mir weiter helfen.
Liebe Grüße aus Meck Pomm,
DenTureS
ich habe zur Zeit ein Softwareprojekt an unserer Schule zu laufen und wollte ein Programm in Java schreiben, welches mir ermöglicht einen Klartext durch Caesar und Vigenère zu kodieren und dekodieren zu können.
Ich habe schon 2 Choice eingebaut. Einen man zwischen Caesar und Vigenère auswählen kann und einen wo man auswählt ob man den Klartext kodieren oder dekodieren möchte.
Habe dann noch nen paar Buttons für Löschen und Starten und noch ein paar Text Areas für den Key, den Klar- und Geheimtext.
So nun zu meiner eigentlichen Frage. Also meine Caesar Verschlüsselung funktioniert, allerdings bekomm ich die Vigenère nicht wirklich hin. Immer wenn ich den Key eingebe und den Klartext kodieren, bzw. dekodieren will, bleibt die Text Area mit dem Geheimtext leer =/
Ich gebe euch mal meinen Quelltext zu dem Programm. Könntet Ihr euch mal den Teil zu Vigenère angucken und mir dabei helfen, dass man den Klartext verschlüsseln und entschlüsseln kann?
Code:
import java.awt.*;
import java.awt.event.*;
public class Verschlüsselung
{
public static void main (String args[])
{
WindowSpielerei F = new WindowSpielerei ("Paul");
F.setVisible(true);
}
}
class WindowSpielerei extends Frame
{
Panel p1 = new Panel ();
Button b1 = new Button ("!! Starten !!");
Button b2 = new Button ("!! Löschen !!");
Label l1 = new Label ("Kryptoprogramm");
Label l2 = new Label ("Key:");
Label l3 = new Label ("Klartext:");
Label l4 = new Label ("Geheimtext:");
Label l5 = new Label ();
TextField t1 = new TextField (50);
TextField t2 = new TextField (50);
TextField t3 = new TextField (10);
Choice c1 = new Choice();
Choice c2 = new Choice();
int n=10;
public WindowSpielerei (String T)
{
this.setTitle(T);
this.setSize(800,600);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e) //alles nur zum schließen des fensters
{
System.exit(0);
}
});
setBackground(Color.black);
add(p1);
l1.setForeground(Color.red);
add(l1);
l1.setBounds(350,40,100,25);
l2.setForeground(Color.red);
add(l2);
l2.setBounds(50,200,50,25);
add(t1);
t1.setBounds(120,200,50,25);
c1.setBackground(Color.red);
add(c1);
c1.addItem("Caesar-Verschlüsselung");
c1.addItem("Viregené-Verschlüsselung");
c1.setBounds(50,130,175,25);
c2.setBackground(Color.red);
add(c2);
c2.addItem("Kodierung");
c2.addItem("Dekodierung");
c2.setBounds(250,130,175,25);
add(t2);
t2.setBounds(275,275,250,25);
add(t3);
t3.setBounds(275,450,250,25);
l3.setForeground(Color.red);
add(l3);
l3.setBounds(175,275,75,25);
l4.setForeground(Color.red);
add(l4);
l4.setBounds(175,450,75,25);
b1.setBackground(Color.black);
b1.setForeground(Color.red);
add(b1);
b1.setBounds(275,363,250,25);
b2.setBackground(Color.black);
b2.setForeground(Color.red);
add(b2);
b2.setBounds(550,363,150,25);
add(l5);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String a = t2.getText();
String klartext = t2.getText();
String key =t1.getText();
int n = Integer.parseInt(t1.getText());
int b;
int i;
String Str="";
int keyas;
int wahl = c1.getSelectedIndex();
switch (wahl)
{
case 0:
{
int wahl2 = c2.getSelectedIndex();
switch (wahl2)
{
case 0:
{
for (int x=0; x< a.length(); x++)
{
b = a.charAt(x);
int geheimtext = (((b + n)-32) % 91)+32;
Str = Str+(char)geheimtext;
}
t3.setText(Str);
}break;//kodieren
default:
{
for (int x=0; x< a.length(); x++)
{
b = a.charAt(x);
int geheimtext = (((b - n)-32) % 91)+32;
Str = Str+(char)geheimtext;
}
t3.setText(Str);
}break;//dekodieren
}
} break;//caesar
default:
{
int wahl2 = c2.getSelectedIndex();
switch (wahl2)
{
case 0:
{
for ( i=0, keyas=0; i< klartext.length(); i++, keyas++)
{
if( keyas == key.length()) keyas = 0;
int geheimtext = (char)((((klartext.charAt(i)+ key.charAt(keyas))-32)%90)+32);
Str = Str+(char)geheimtext;
}
t3.setText(Str);
}break;//kodieren
default:
{
for ( i=0, keyas=0; i< klartext.length(); i++, keyas++)
{
if( keyas == key.length()) keyas = 0;
int geheimtext = (char)((((klartext.charAt(i)- key.charAt(keyas))-32)%90)+32);
Str = Str+(char)geheimtext;
}
t3.setText(Str);
}break;//dekodieren
}
} break;//virgené
}
}
});
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
t3.setText("");
t2.setText("");
}
});
}
}
Ich hoffe Ihr könnt mir weiter helfen.
Liebe Grüße aus Meck Pomm,
DenTureS