vigenere verschlüsselung

Neue Frage »

Auf diesen Beitrag antworten »
blacke vigenere verschlüsselung

Meine Frage:
hey, ich habe ein problem, die oberfläche steht schon und die idee auch, aber der logik teil ist zu schwierig... ich würde mich um hilfe freuen... das ganze soll ein applet werden...
schon einmal danke

Meine Ideen:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**
* Class Cäsar - write a description of the class here
*
* @author (your name)
* @version (a version number)
*/
public class VigenereVer extends JApplet implements ActionListener
{
Label eingabe = new Label("Eingabe:",Label.LEFT); //Festlegen aller Textfelder und Buttons
TextField editEingabe = new TextField("",20);

Button buttonCodieren = new Button("Codieren");
Label ausgabe = new Label("Ausgabe:",Label.LEFT);
TextField editAusgabe = new TextField("",20);
Label verschiebung = new Label("Verschiebung:",Label.LEFT);
TextField editVerschiebung = new TextField("",20);

//--------------------------------------------------Anfang Methode------------------------------------------------------------------
public void init()
{
//Layout setzen
setLayout(new GridLayout(10,2)); //Die Tabellarische Form festlegen
//Oberflaeche zusammensetzen
add(eingabe); //Die Vorher festgelegten Felder und Buttons anzeigen lassen
add(editEingabe);

add(ausgabe);
add(editAusgabe);
add(verschiebung);
add(editVerschiebung);

buttonCodieren.addActionListener (this);

add(buttonCodieren);
}

public void actionPerformed (ActionEvent ereignis){
String s;
s = ereignis.getActionCommand();

if (s.equals("Codieren")){
int Verschieben = Integer.parseInt(editVerschiebung.getText()); //Schhlüsselwort aus dem Feld kriegen
//Verschieben = Verschieben % 26; //Modulo 26
String ausgeben = new String();


/*while(Verschieben < 0)
{
Verschieben +=26;
}
*/
for(int i=0; i<editEingabe.getText().length(); i++) //Eingabe-Text auslesen
{
int k = (int)editEingabe.getText().charAt(i); //in ASCII Code umwandeln

//großbuchstaben
if (k > 64 && k < 91){ //Buchstaben begrenzen
k+=Verschieben;
if (k > 90) k -= 26;
}

//kleinbuchstaben
if (k > 96 && k < 123){
k+=Verschieben; //Buchstaben begrenzen
if (k > 122) k -= 26;
}
ausgeben += (char)k;
editAusgabe.setText(ausgeben); //Text ausgeben
}
}
}
}
 
Auf diesen Beitrag antworten »
Beerware Coder

Zeichne dir mal eine Viginiere Tabelle auf
Wie wird das Geheimtextcharacter adressiert?

Das Viginenere Verfahren ist ein polyalphabetischer Substitutionscode.
Abhängig von der Position des Characters im Text wird dem Klartextcharacter ein Geheimtextcharacter zugeordnet.

Zuerst einmal muss du ersteinmal den Überlauf implementieren:
Du brauchst einen Zeiger, in dem steht, an welcher Position des Schlüssels du gerade bist.

Letzendlich benötigst du eine for-Schleife: Darin wird die Tabellenverschlüsselung ermittelt und der Schlüsselzeiger verändert
Diesen musst du am Ende der Schleife zuerst präinkrementieren und dann Modulo der Länge rechnen um einen Überlauf zu vermeiden.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »