22.1 Implementierung der
Verschlüsselung nach Cäsar |
|||||||||||||||||||||||||||
![]() |
VHFUHWFRPPXQLFDWLRQLVDQHHGQRWRQOBIRUPLOLWDUBFRPPDQGHUVDQ GLQWHOOLJHQFHDJHQWVEXWDOVRRIODUJHFRPPHUFLDODQGLQGXVWULDO ILUPVUHODBLQJFRQGLGHQWLDOLQIRUPDWLRLQWRGDBVZRUOGSUREDEOB DWOHDVWQLQHWBSHUFHQWRIVHQVLWLYHRUVHFUHWLQIRUPDWLRQWUDQVP LWWHGHOHFWURQLFDOOBDULVHVLQWKHODWWHUVHFWRURQHKDVRQOBWRWK LQNRIWKHIORZRIFUHGLWLQIRUPDWLRQDPRQJYDULRXVILQDQFLDOLQVW LWXWLRQVWKHWUHPHQGRXVTXDQWLWLHVRIVXFKLQIRUPDWLRQPDNHLWLP SHUDWLYHWKDWFRQILGHQWLDOLWBEHJXDUDQWHGHGEBDVBVWHPRIHQFUB WLRQSZKLFKLVERWKFRPSXWDWLRQDOOBIHDVLEOHDQGBHWYHUBKDUGWRG HFUBSWZKHQLQIRUPDWLRQLVLQWHUFHSWHG |
||||||||||||||||||||||||||
Verstehen
Sie den Text?
Von Cäsar stammt die Methode, Texte
dadurch zu verschlüsseln, dass man die einzelnen Buchstaben um eine
bestimmte Anzahl im Alphabet weiterrückt. Das nachfolgende Programm soll
demonstrieren, wie man mit den Char-Manipulationen einen Text mit der
Methode nach Cäsar verschlüsselt. Die Signatur der Methode ist: Wie ist die Methode spezifiziert?
Wie die Signatur zeigt, werden der Methode den zu verschlüsselnden Text
und der Schlüssel als String-Objekt
bzw. als int-Wert
übergeben. Der Text wird in einen String 'umgewandelt', der nur
Großbuchstaben enthält. Alle Leerzeichen im Originaltext sollen
herausgefiltert werden. Der um den Schlüsselwert k verschobene Text
(Anmerkung: Man denke sich das Alphabet mit den Buchstaben 'A', 'B',..,'Z'
in einem Ring angeordnet, so dass beim Verschieben das Alphabet nicht
verlassen wird. Wird also 'Y' um 4 Stellen verschoben, so erhalten wir den
Buchstaben 'C') wird als String zurückgegeben. |
|||||||||||||||||||||||||||
Die Methode caesar() |
|
||||||||||||||||||||||||||
Bemerkungen | Der
ACSII-Kode der Großbuchstaben ist:
|
||||||||||||||||||||||||||
wenn wir vom ASCII-Kode der Buchstaben jeweils 65 subtrahieren, erhalten wir die folgende Tabelle:
Erst in diesem Kode verschieben wir. Dazu denken wir uns die Tabelle zu einer Schleife verformt, dass das Ende zum Anfang kommet. Wir bekommen nach dem Verschieben den richtigen Platz wenn wir den Rest bei der Division durch 25 angeben. Im letzten Schritt erzeugen wir wieder den richtigen ASCII-Kode durch Addition von 65.
|
|||||||||||||||||||||||||||
Download: EnCrypt.java |
Die
Methode bringen wir als
static-Methode
in einer Klasse EnCrypt
unter. Von der Logik her wird sie ähnlich aufgebaut wie die Klasse
Mathematik und wird Schritt für Schritt mit Verschlüsselungsmethoden
aufgefüllt.
Ein kleines Testprogramm überprüft
die Funktionalität der caesar(..)
- Methode. |
||||||||||||||||||||||||||
Download: EnCryptTest.java |
|
||||||||||||||||||||||||||
zu | 22.2 Übungen | ||||||||||||||||||||||||||
zur Startseite | www.pohlig.de (C) MPohlig 2006 |