Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » vigenere verschlüsselung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
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.
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
}
}
}
}