Verschlüsselungstool

Status
Nicht offen für weitere Antworten.

Mellowtrax

Mitglied
Hallo zusammen

Alsoich gebs offen und ehrlich zu ich bin ein blutiger Anfänger was Java angeht. Bin im Moment gerade dabei mich etwas an das ganze heranzutasten. Jetz hab ich in der Schule den Auftrag erhalten ein GUI zu erstellen und dann daraus ein Verschlüsselungstool zu kreieren. Und zwar soll ich z.B. ins erste Eingabefeld ein Wort eingeben können, dann einen Button klicken und dann soll es mir die verschlüsselte Variante des Wortes im dritten Textfeld ausgeben. Zum entschlüsseln geht es gleich ich geb etwas im zweiten Textfeld ein und drücke einen Button und das entschlüsselte Wort soll mir wiederum im dritten Textfeld angegeben werden.


Das GUI hab ich schon erstellt den Code hab ich unten gepostet. Kann mir jetz jemand helfen wie ich das mit dem verschlüsseln hinkriege? Gehe ich recht in der annahme, dass ich zuerst aus dem Text der aus einem der beiden Textfelder gelesen wird ein Objekt generieren muss und dieses dann durch einen Alogarithmus verschlüsseln lassen muss und dann aus dem verschlüsselten weider ein Objekt generieren muss dass dan im dritten Feld ausgegeben wird?

Ich habe aber keien Ahnung wie und wo ich diesesn Algorithmus einbauen muss und wie ich das programieren muss. Kann mir da jemand auf die sprünge helfen? Wäre sehr dankbar.

Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Frame2 extends Frame 


{
    private Button button1 = new Button( "Verschlüsseln");
    private Button button2 = new Button( "Entschlüsseln");
    private Button button3 = new Button( "Schliessen");
    private Button button4 = new Button( "Clear all");
    private TextField ta1 = new TextField(); //verschlüsseln
    private TextField ta2 = new TextField(); //entschlüsseln
    private TextField ta3 = new TextField(); //ergebnis
    private Label l1 = new Label("Verschlüsselungstool in Java");
    private Label l2 = new Label("Bitte geben Sie hier das zu verschlüsselnde Wort ein:");
    private Label l3 = new Label("Bitte geben Sie hier das zu entschlüsselnde Wort ein:"); 
    private Label l4 = new Label("Das Resultat lautet:");  
    private Label l5 = new Label("Erstellt durch S.Aeschlimann und M.Kurth");

    String text;
    String text2;


    Font f = new Font ("Arial", Font.PLAIN, 24);
    Font f2 = new Font ("Arial", Font.PLAIN, 12);
    Font f3 = new Font ("Arial", Font.PLAIN, 9);

   

class okListener implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
          System.exit(0); 

        }
    }



class ok1Listener implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
          
	  
          text = ta1.getText (); // Feld verschlüsseln
          ta3.setText ( text );

          }
    }

class ok2Listener implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
          
	  
          text2 = ta2.getText (); // Feld entschlüsseln
          ta3.setText ( text2 );

          }
    }

class ok3Listener implements ActionListener
    {
        public void actionPerformed( ActionEvent e )
        {
          
	  
          
          ta3.setText(""); 
          ta2.setText (" ");
          ta1.setText (" ");
          

          }
    }


public Frame2( String Beschriftung )
{
    super( Beschriftung );
    setLayout( new FlowLayout());

    setLayout( null );
    button1.setBounds( 450, 120, 99, 27 );
    button2.setBounds( 450, 180, 99, 27 );
    button3.setBounds( 25,  300, 99, 27 );
    button4.setBounds( 450, 240, 99, 27 );

    ta1.setBounds( 25, 120, 400, 27 );
    ta2.setBounds( 25, 180, 400, 27 );
    ta3.setBounds( 25, 240, 400, 27 );
    
    l1.setBounds( 25, 45, 400, 27 );
    l1.setBackground(new Color(102,140,153));
    l1.setFont (f);

    l2.setBounds( 25, 95, 400, 27 );
    l2.setBackground(new Color(102,140,153));
    l2.setFont (f2);

    l3.setBounds( 25, 155, 400, 27 );
    l3.setBackground(new Color(102,140,153));
    l3.setFont (f2);

    l4.setBounds( 25, 215, 400, 27 );
    l4.setBackground(new Color(102,140,153));
    l4.setFont (f2);

    l5.setBounds( 400, 360, 200, 27 );
    l5.setBackground(new Color(102,140,153));
    l5.setFont (f3);

 

    add( button1 );
    add( button2 );
    add( button3 );
    add( button4 );
    add( ta1 );
    add( ta2 );
    add( l1 );
    add( ta3 );
    add( l2 );
    add( l3 );
    add( l4 );
    add( l5 );

        okListener ol = new okListener();  // Schliessen
        button3.addActionListener( ol );   
        
        ok1Listener ol1 = new ok1Listener();  //Verschlüsseln
        button1.addActionListener( ol1 );
        
        ok2Listener ol2 = new ok2Listener();  //entschlüsseln
        button2.addActionListener( ol2 );
  
        ok3Listener ol3 = new ok3Listener();  //clear
        button4.addActionListener( ol3 );
}


static public void main(String [] args )
{
    Frame2 f = new Frame2( "Verschlüsselungstool");
    f.setSize(600,400);
    f.show();
    f.setBackground(new Color(102,140,153));

   

}

}

habe mal code-tags eingefuegt, mariopetr
 

DTR

Bekanntes Mitglied
So weit sieht das ganz gut aus. An den stellen an denen du die Kommentare eingefügt hast muss jetzt der Allgorithmus stehen. Welchen du da nimmst weiß ich nicht. Das kommt darauf an, welche sicherheit du haben willst. Z.B. das wor einfach rückwerts schreiben. Ist zwar sehr unsicher aber trotzdem eine Art Verschlüsselung. Oder alle Buchstaben um x schritte im Alphabet verschieben. Bis hin zu RSA Algorithmus.
 

Mellowtrax

Mitglied
Na ja welcher Algorithmus ist denn empfehlens wert? Und sehr sicher muss es nicht sein.. es sollte einfach nicht gerade auf den ersten Blick erkennbar sein. Aber eigentlich hätte ich schon gedacht, dass Z.B. jeder Buchstabe um 5 erhöt wird also dass aus einem A ein F wird aus einem B ein G usw...
Jetz weiss ich aber nicht genau wie ich das programieren soll....

Oder würdest du mir einen anderen algorithmus empfehlen?
 

DTR

Bekanntes Mitglied
Am best googelsst du dir einen, um dir die Verschlüsselungsalgorithmen anzusehen. Ich weiß ja nicht was du für Ansprüche stellst.
 

Mellowtrax

Mitglied
Jaja was einfaches reicht föllig hehe brauche nicht so ne sichere Sache geht mehr darum dass ichs geschafft habe hihi
 

Stefan1200

Top Contributor
Du machst die am Besten eine Methode fürs Ver-/Entschlüsseln. Bei der Exklusiv-Oder Variante geht das entschlüsseln ja genauso, wie das verschlüsseln.

Die Methode könnte so aussehen:

Code:
private String stringCrypter(String msg)
{
    int key = 60;
    StringBuffer output = new StringBuffer();

    for (int i = 0; i < msg.length(); ++i)
    {
        output.append((char)(msg.charAt(i) ^ key));
    }

    return output.toString();
}

So, und im actionPerformed für den button1 (Verschlüsseln) könnte anhand deines Sources folgendes stehen:

Code:
ta3.setText(stringCrypter(ta1.getText()));

Beim button2 (Entschlüsseln) dann:

Code:
ta3.setText(stringCrypter(ta2.getText()));


Und von mir bekommst du jetzt die Hausaufgabe, mir zusagen, wie das funktioniert ;-)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben