Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Cäsar (Zeichenketten)

Schreiben Sie ein Programm, das einen Text nach dem Cäsar-AlgorithmusDie ursprüngliche Cäsar-Verschlüsselung nach Gajus Julius Cäsar (100 v. Chr. - 44 v. Chr.) verwendete den Schlüssel 3. verschlüsselt. Dabei wird zu jedem Buchstaben im Alphabet eine fixe Zahl (= Code) dazugezählt. Nach "Z" soll wieder "A" folgen. Mit der negativen Zahl als Code kann der Text wieder entschlüsselt werden.

Knacken Sie damit die Botschaft: "Hslh qhjah lza"

Caesar Verschlüsselungs-Scheibe

Achtung: Das abgebildete «Cäsar-Rad» hat nicht die gesuchte Einstellung.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

1 Lösung(en)

/****************************************************************************
* <code>                          Caesar
* </code> 
* ...
*
* @author Philipp Gressly (phi@gressly.ch) http://www.gressly.ch/schulung
* @version 0.99 -- 2004-Jan-21 08:24
*/
/* History: 2004-Jan-21 08:24 (first implementations)
*****************************************************************************/
public class Caesar{


  /****************************************************************************
  * <code>                          Caesar
  * </code> 
  * 
  *
  * @param 
  * @return 
  */
  /* History: 2004-Jan-21 08:24 (first implementations)
  *****************************************************************************/
  public  Caesar(int code, String orig)
  {
    String crypt = "";
    for(int i = 0; i < orig.length(); i++) {
      char oc = orig.charAt(i); //oc: original character
      boolean isCap = false;
      if ('A' <= oc && oc <= 'Z') {
	isCap = true;
	oc = (char) (oc + 'a' - 'A');
      }
      if('a' <= oc && oc <= 'z') {
	oc = (char) (oc + code);
	int diff = 'z' - 'a' + 1;
	if(oc > 'z') {
	  oc = (char) (oc - diff);
	}
	if(oc < 'a') {
	  oc = (char) (oc + diff);
	}
      }
      if(isCap) {
	oc = (char) (oc + 'A' - 'a');
      }
      crypt += "" + oc;
    }
    System.out.println("Crypt: " + crypt);
  }  // end method: Caesar

  /****************************************************************************
  * <code>                          main
  * </code> 
  * 
  *
  * @param 
  * @return 
  */
  /* History: 2004-Jan-21 08:24 (first implementations)
  *****************************************************************************/
  public static void main(String[] args)
  {
    if(args.length != 2) {
      System.out.println("Call \nCaesar <code> <String>");
      return;
    }
    new Caesar(Integer.parseInt(args[0]), args[1]);
    
  } // end main 

}  // end class: Caesar
                

Verifikation/Checksumme:

Die Botschaft lautet: "Der Würfel ist geworfen." Natürlich lateinisch! Da damals nur die wenigsten Leute lesen konnten, galt das Verfahren als sicher.

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 2
Schwierigkeit: Mittel
Webcode: kb99-fe5k
Autor: Philipp Gressly Freimann (SANTIS Training AG)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen