This commit is contained in:
2025-07-25 16:08:58 +02:00
parent b448e43d55
commit a8e36d0a4c
2 changed files with 20 additions and 26 deletions

View File

@@ -198,6 +198,9 @@ def auswahl_verarbeiten():
elif auswahl == "Mono.-Substitution": elif auswahl == "Mono.-Substitution":
st.session_state.output_text = tools.monoalphasubstitution(text, additional_parameter) st.session_state.output_text = tools.monoalphasubstitution(text, additional_parameter)
st.session_state.map_data = None st.session_state.map_data = None
elif auswahl == "Autokey-Chiffre":
st.session_state.output_text = tools.autokey(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
@@ -287,7 +290,7 @@ option = st.sidebar.radio("hidden_label",
"Vigenere-Chiffre", "Vigenere-Chiffre",
"Wolseley-Chiffre", "Wolseley-Chiffre",
"Mono.-Substitution", "Mono.-Substitution",
"", "Autokey-Chiffre",
"", "",
"", "",
"", "",
@@ -306,7 +309,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 in ["Vigenere-Chiffre", "Wolseley-Chiffre"]: elif option in ["Vigenere-Chiffre", "Wolseley-Chiffre", "Autokey-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"

View File

@@ -2041,25 +2041,19 @@ def monoalphasubstitution(eingabetext, pw):
if len(pw) < len(abc): if len(pw) < len(abc):
ausgabetext += f"Schlüsselalphabet wurde wie folgt aufgefüllt: {cabc}" ausgabetext += f"Schlüsselalphabet wurde wie folgt aufgefüllt: {cabc}"
return ausgabetext return ausgabetext
'''
def autokey(): def autokey(eingabetext, pw):
hilfetext = """HILFE: [Autokey-Chiffre] hilfetext = ("### Autokey-Chiffre\n"
Die Autokey-Chiffre arbeitet nach dem selben "Die Autokey-Chiffre arbeitet nach dem selben Prinzip wie Vignere-Chiffre mit dem Unterschied, dass "
Prinzip wie Vignere-Chiffre mit dem Unterschied, "hier am Ende des Schlüsselwortes nicht wieder und wieder das Schlüsselwort angehängt wird, sondern "
daß hier am Ende des Schlüsselwortes nicht wieder "der Klartext an das Schlüsselwort angehangen wird. Der eingegebene Text wird hier mit dem "
und wieder das Schlüsselwort angehängt wird, "eingegebenen Schlüsselwort kodiert und dekodiert ausgegeben.")
sondern der Klartext an das Schlüsselwort if pw is None:
angehangen wird. return hilfetext
Der eingegebene Text wird hier mit dem eingegebenen
Schlüsselwort kodiert und dekodiert ausgegeben.
"""
eingabetext = Eingabe.get(1.0, END)
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:
bw = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, 'I': 9, 'J': 10, 'K': 11, 'L': 12, bw = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, 'I': 9, 'J': 10, 'K': 11, 'L': 12,
'M': 13, 'N': 14, 'M': 13, 'N': 14,
@@ -2070,8 +2064,7 @@ Schlüsselwort kodiert und dekodiert ausgegeben.
p_wd = "" p_wd = ""
for b in pw: for b in pw:
if b.upper() not in bw: if b.upper() not in bw:
Ausgabe.insert(1.0, "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!\n", "re") return "Das Schlüsselwort darf nur die Buchstaben A-Z / a-z enthalten!"
return
else: else:
p_we += b.upper() # Sonderzeichen aus PW entfernen und p_we += b.upper() # Sonderzeichen aus PW entfernen und
p_wd += b.upper() p_wd += b.upper()
@@ -2112,12 +2105,10 @@ Schlüsselwort kodiert und dekodiert ausgegeben.
decoded_text += ubw[ba] decoded_text += ubw[ba]
else: else:
decoded_text += ubw[ba].lower() decoded_text += ubw[ba].lower()
Ausgabe.insert(1.0, encoded_text + "\n") ausgabetext = f"_Dekodiert:_ \n{decoded_text} \n \n"
Ausgabe.insert(1.0, "Kodiert:\n", "bu") ausgabetext += f"_Kodiert:_ \n{encoded_text}"
Ausgabe.insert(1.0, decoded_text + "\n") return ausgabetext
Ausgabe.insert(1.0, "Dekodiert:\n", "bu") '''
def polybios_encode(): def polybios_encode():
hilfetext = """HILFE: [Polybios-Chiffre kodieren] hilfetext = """HILFE: [Polybios-Chiffre kodieren]
Die 5x5 Polybios-Chiffre kodiert Buchstaben zu zweistelligen Die 5x5 Polybios-Chiffre kodiert Buchstaben zu zweistelligen