autokey
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
37
app/tools.py
37
app/tools.py
@@ -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():
|
|
||||||
hilfetext = """HILFE: [Autokey-Chiffre]
|
|
||||||
Die Autokey-Chiffre arbeitet nach dem selben
|
|
||||||
Prinzip wie Vignere-Chiffre mit dem Unterschied,
|
|
||||||
daß hier am Ende des Schlüsselwortes nicht wieder
|
|
||||||
und wieder das Schlüsselwort angehängt wird,
|
|
||||||
sondern der Klartext an das Schlüsselwort
|
|
||||||
angehangen wird.
|
|
||||||
Der eingegebene Text wird hier mit dem eingegebenen
|
|
||||||
Schlüsselwort kodiert und dekodiert ausgegeben.
|
|
||||||
"""
|
|
||||||
|
|
||||||
eingabetext = Eingabe.get(1.0, END)
|
def autokey(eingabetext, pw):
|
||||||
|
hilfetext = ("### Autokey-Chiffre\n"
|
||||||
|
"Die Autokey-Chiffre arbeitet nach dem selben Prinzip wie Vignere-Chiffre mit dem Unterschied, dass "
|
||||||
|
"hier am Ende des Schlüsselwortes nicht wieder und wieder das Schlüsselwort angehängt wird, sondern "
|
||||||
|
"der Klartext an das Schlüsselwort angehangen wird. Der eingegebene Text wird hier mit dem "
|
||||||
|
"eingegebenen Schlüsselwort kodiert und dekodiert ausgegeben.")
|
||||||
|
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:
|
||||||
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
|
||||||
|
|||||||
Reference in New Issue
Block a user