MezData-Logo

Lösung 2018-Wi-FIA-A1

Kodierverfahren

Quellcode [CodierVerfahren/SymmetrischeCodierverfahren.java]
public abstract class SymmetrischeCodierverfahren{
  protected String klarText;
  protected String privateKey;
  //public SymetrischesCodierverfahren()
 
  public void setPrivateKey(String key){
    privateKey = key;  
  }
  public String getKlarText(){
    return klarText;  
  }
  public void setKlarText(String text){
    klarText=text;  
  }
  public abstract String codieren();
 
// Aufgabe 1.2  
  public static void main(){
     SymmetrischeCodierverfahren test = new Vigenere();
     test.setPrivateKey("PRUEFUNG");
     test.setKlarText("DERADLERISTGELANDET");
     System.out.println(test.codieren());
  }
}
Quellcode [CodierVerfahren/Vigenere.java]
public class Vigenere extends SymmetrischeCodierverfahren{
   public String codieren(){
     String geheim = "";
     int i;
     for (i=0; i<klarText.length(); i++){
       geheim += (char)((klarText.charAt(i)-'A'+privateKey.charAt(i%privateKey.length())-'A')%26 +'A');   
     }
     return geheim;
   }
}