wolseley
This commit is contained in:
@@ -191,6 +191,9 @@ def auswahl_verarbeiten():
|
|||||||
elif auswahl == "Vigenere-Chiffre":
|
elif auswahl == "Vigenere-Chiffre":
|
||||||
st.session_state.output_text = tools.vigenere(text, additional_parameter)
|
st.session_state.output_text = tools.vigenere(text, additional_parameter)
|
||||||
st.session_state.map_data = None
|
st.session_state.map_data = None
|
||||||
|
elif auswahl == "Wolseley-Chiffre":
|
||||||
|
st.session_state.output_text = tools.wolseley(text, additional_parameter)
|
||||||
|
st.session_state.map_data = None
|
||||||
elif auswahl == "REPLACE":
|
elif auswahl == "REPLACE":
|
||||||
st.session_state.output_text = tools.REPLACE(text)
|
st.session_state.output_text = tools.REPLACE(text)
|
||||||
st.session_state.map_data = None
|
st.session_state.map_data = None
|
||||||
@@ -278,7 +281,7 @@ option = st.sidebar.radio("hidden_label",
|
|||||||
"T9-DE dekodieren",
|
"T9-DE dekodieren",
|
||||||
"T9-EN dekodieren",
|
"T9-EN dekodieren",
|
||||||
"Vigenere-Chiffre",
|
"Vigenere-Chiffre",
|
||||||
"",
|
"Wolseley-Chiffre",
|
||||||
"",
|
"",
|
||||||
"Dummy mit Karte",
|
"Dummy mit Karte",
|
||||||
),
|
),
|
||||||
@@ -294,7 +297,7 @@ if option == "Dummy mit Karte":
|
|||||||
"Optionaler Zusatztext für Dummy mit Karte",
|
"Optionaler Zusatztext für Dummy mit Karte",
|
||||||
placeholder="Zusätzliche Eingabe hier"
|
placeholder="Zusätzliche Eingabe hier"
|
||||||
)
|
)
|
||||||
elif option == "Vigenere-Chiffre":
|
elif option in ["Vigenere-Chiffre", "Wolseley-Chiffre"]:
|
||||||
additional_parameter = st.text_input(
|
additional_parameter = st.text_input(
|
||||||
"Schlüsselwort:",
|
"Schlüsselwort:",
|
||||||
placeholder="Schlüsselwort hier eingeben"
|
placeholder="Schlüsselwort hier eingeben"
|
||||||
|
|||||||
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"_Dekodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{decoded_text_s} \n \n"
|
||||||
ausgabetext += f"_Kodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{encoded_text_s}"
|
ausgabetext += f"_Kodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{encoded_text_s}"
|
||||||
return ausgabetext
|
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
|
|
||||||
"""
|
|
||||||
abc = "ABCDEFGHIKLMNOPQRSTUVWXYZ" # j wird als i chiffriert
|
|
||||||
|
|
||||||
eingabetext = Eingabe.get(1.0, END)
|
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
|
||||||
|
if pw is None:
|
||||||
|
return hilfetext
|
||||||
text = eingabetext.rstrip()
|
text = eingabetext.rstrip()
|
||||||
pw = PW_Eingabe.get()
|
|
||||||
pw = pw.strip()
|
pw = pw.strip()
|
||||||
if text == "" or pw == "":
|
if text == "" or pw == "":
|
||||||
Ausgabe.insert(1.0, hilfetext + "\n")
|
return hilfetext
|
||||||
else:
|
else:
|
||||||
for b in pw:
|
for b in pw:
|
||||||
if b.upper() not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
|
if b.upper() not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
|
||||||
Ausgabe.insert(1.0, "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!\n", "re")
|
return "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!"
|
||||||
return
|
|
||||||
text = text.upper()
|
text = text.upper()
|
||||||
pw = pw.upper()
|
pw = pw.upper()
|
||||||
if "J" in text:
|
if "J" in text:
|
||||||
@@ -1962,9 +1950,8 @@ nur ein K bleibt ein K
|
|||||||
atxt += cabc[b]
|
atxt += cabc[b]
|
||||||
else:
|
else:
|
||||||
atxt += b
|
atxt += b
|
||||||
Ausgabe.insert(1.0, atxt + "\n")
|
return atxt
|
||||||
|
'''
|
||||||
|
|
||||||
def atbash():
|
def atbash():
|
||||||
hilfetext = """HILFE: [Atbash-Chiffre]
|
hilfetext = """HILFE: [Atbash-Chiffre]
|
||||||
Atbash ist eine einfache Ersetzungschiffre die für
|
Atbash ist eine einfache Ersetzungschiffre die für
|
||||||
|
|||||||
Reference in New Issue
Block a user