import string def verschluesseln(text,verschiebung): ''' Verschluesselt nach der 'Caesar-Verschiebung' http://de.wikipedia.org/wiki/Caesar-Verschlüsselung ''' abc = string.ascii_lowercase geheim = [] for a in text.lower(): if a in abc: letterIndex = (abc.index(a) + verschiebung) % 26 geheim.append(abc[letterIndex]) else: geheim.append(a) return "".join(geheim) def entschluesseln(text,verschiebung): ''' Soll den verschluesselten Text und die urspruenglische Verschiebung erhalten. Gibt dann den entschluesselten Text zurueck. ''' return verschluesseln(text,-1 * verschiebung) text = "Das ist ein Text, der das Verfahren verdeutlichen soll." whaw = verschluesseln(text,3) print(whaw) print(entschluesseln(whaw,3))Spannend ist nun eigentlich an dieser Sache, ob man den Quelltext des eigentlichen Skripts noch reduziert bekommt. Augenblicklich benötige ich 9 Codezeilen und frage mich, ob es noch deutlich kürzer auszudrücken geht bei gleichzeitiger Lesbarkeit.
Samstag, 29. Dezember 2012
Caesar-Verschlüsselung
Zum Zeitvertreib habe ich gerade einmal die Caesar-Verschlüsselung implementiert. Im Python-Forum gibt es dazu einen eigenen Thread und eine Reihe sehr interessanter Skripte und Ansätze. An sich eine einfache Geschichte:
Abonnieren
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen