wolseley
This commit is contained in:
61
app/tools.py
61
app/tools.py
@@ -1894,47 +1894,35 @@ def vigenere(eingabetext, pw):
|
||||
ausgabetext += f"_Dekodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{decoded_text_s} \n \n"
|
||||
ausgabetext += f"_Kodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{encoded_text_s}"
|
||||
return ausgabetext
|
||||
'''
|
||||
def wolseley():
|
||||
hilfetext = """HILFE: [Wolseley-Chiffre]
|
||||
Die Eingabe eines Schlüsselwortes ist hier erforderlich!!!
|
||||
Die Woseley-Chiffre arbeitet mit einem Schlüsselwort über
|
||||
welches dann ein Codequadrat/Codealphabet gebildet wird
|
||||
mit welchem dann sowohl kodiert als auch dekodiert wird.
|
||||
Angefangen wird dabei mit dem jeweils ersten Vorkommen
|
||||
eines Buchstaben im Schlüsselwort und danach folgen die
|
||||
restlichen Buchstaben des Alphabets die nicht im
|
||||
Schlüsselwort vorkommen. Da hier nur 25 Zeichen zur
|
||||
Verfügung stehen wird das J mit dem I zusammengefasst
|
||||
und als I behandelt und dargestellt. Sonstige Zeichen
|
||||
die nicht im Codealphabet vorhanden sind werden unverändert
|
||||
ausgegeben.
|
||||
Codequadrat mit Schlüsselwort: Teebaum
|
||||
1 2 3 4 5
|
||||
1 T E B A U
|
||||
2 M C D F G
|
||||
3 H I K L N
|
||||
4 O P Q R S
|
||||
5 V W X Y Z
|
||||
Bei der Chiffrierung/Dechiffrierung wird im Text nun der
|
||||
erste Buchstabe mit dem letzten getauscht, der 2. mit dem
|
||||
Vorletzten, usw.
|
||||
also aus T wird Z und umgekehrt,E<->Y, B<->X, A<->W usw..
|
||||
nur ein K bleibt ein K
|
||||
"""
|
||||
|
||||
def wolseley(eingabetext, pw):
|
||||
hilfetext = ("HILFE: ### Wolseley-Chiffre\n"
|
||||
"Die Eingabe eines Schlüsselwortes ist hier erforderlich!!! Die Woseley-Chiffre arbeitet mit einem "
|
||||
"Schlüsselwort über welches dann ein Codealphabet/Codequadrat gebildet wird mit welchem dann sowohl "
|
||||
"kodiert als auch dekodiert wird. Angefangen wird dabei mit dem jeweils ersten Vorkommen eines "
|
||||
"Buchstaben im Schlüsselwort und danach folgen die restlichen Buchstaben des Alphabets die nicht im "
|
||||
"Schlüsselwort vorkommen. Da hier nur 25 Zeichen zur Verfügung stehen wird das J mit dem I "
|
||||
"zusammengefasst und als I behandelt und dargestellt. Sonstige Zeichen die nicht im Codealphabet "
|
||||
"vorhanden sind werden unverändert ausgegeben. \n \n"
|
||||
"Codealpahbet mit Schlüsselwort: Teebaum \n"
|
||||
"| | | | | | | | | | | | | | | | | | | | | | | | | |\n"
|
||||
"|-|-|-|-|-|-|-|-|-|-|-|---|-|---|-|-|-|-|-|-|-|-|-|-|-|\n"
|
||||
"|T|E|B|A|U|M|C|D|F|G|H|I/J|K|L |N|O|P|Q|R|S|V|W|X|Y|Z|\n"
|
||||
"|Z|Y|X|W|V|S|R|Q|P|O|N|L |K|I/J|H|G|F|D|C|M|U|A|B|E|T|\n \n"
|
||||
"Bei der Chiffrierung/Dechiffrierung wird im Text nun der erste Buchstabe mit dem letzten getauscht, "
|
||||
"der 2. mit dem Vorletzten, usw. also aus T wird Z und umgekehrt,E<->Y, B<->X, A<->W usw.. nur ein "
|
||||
"K bleibt ein K")
|
||||
abc = "ABCDEFGHIKLMNOPQRSTUVWXYZ" # j wird als i chiffriert
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
if pw is None:
|
||||
return hilfetext
|
||||
text = eingabetext.rstrip()
|
||||
pw = PW_Eingabe.get()
|
||||
pw = pw.strip()
|
||||
if text == "" or pw == "":
|
||||
Ausgabe.insert(1.0, hilfetext + "\n")
|
||||
return hilfetext
|
||||
else:
|
||||
for b in pw:
|
||||
if b.upper() not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
|
||||
Ausgabe.insert(1.0, "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!\n", "re")
|
||||
return
|
||||
return "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!"
|
||||
text = text.upper()
|
||||
pw = pw.upper()
|
||||
if "J" in text:
|
||||
@@ -1962,9 +1950,8 @@ nur ein K bleibt ein K
|
||||
atxt += cabc[b]
|
||||
else:
|
||||
atxt += b
|
||||
Ausgabe.insert(1.0, atxt + "\n")
|
||||
|
||||
|
||||
return atxt
|
||||
'''
|
||||
def atbash():
|
||||
hilfetext = """HILFE: [Atbash-Chiffre]
|
||||
Atbash ist eine einfache Ersetzungschiffre die für
|
||||
|
||||
Reference in New Issue
Block a user