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