Python Strings?
Ich bin gerade dabei, eine Vigenere Verschlüsselung in Python zu schreiben, aber ich habe ein Problem. Und zwar ist es ja so, dass man ein Schlüsselwort hat und basierend auf den Buchstaben innerhalb des Schlüsselwortes neue Alphabete erstellen muss. Wie kann ich aber auf die einzelne Buchstaben zugreifen, bzw. ein Alphabet draus machen? Bsp.: key = 'SECRET', aber wie kann man dann mit beispielsweise dem 3. Buchstaben ein neues Alphabet erstellen?
danke für Hilfe, bin noch Anfänger in Python.
2 Antworten
Da gibt es die unterschiedlichsten Möglichkeiten, je nachdem wie du auch sonst das Programm für die Verschlüsselung weiter gestalten möchtest.
Mögliches Beispiel:
from string import ascii_uppercase as alphabet
key = 'SECRET'
# verschobenes Alphabet zum dritten Buchstaben key[2] = 'C' des Schlüssels...
i = alphabet.index(key[2])
verschobenes_alphabet = alphabet[i:]+alphabet[:i]
# Nun ist verschobenes_alphabet = CDEFGHIJKLMNOPQRSTUVWXYZAB
Ich bin in etwa so vorgegangen, bin aber noch nicht fertig. Ich komme halt eben bei meinem Beispiel nicht mehr weiter.
alpha ='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
alphalen = len(alpha)
def vigenere (key, text, shift):
keylen = len(key)
geheimtext=''
newalpha = ""
keylen = len(key)
for i in range (alphalen):
newalpha += alpha [(i+shift)%26]
for c in range (keylen):
print(newalpha)
print (geheimtext)
vigenere (text = input('Geben Sie hier den Text ein, welcher verschlüsselt werden soll.'), key = input('Geben sie Ihren Schlüssel hier ein.') , shift = input('Um wieviel soll verschoben werden?'))
Hallo.
Da gibt es diverse Möglichkeiten. Erstmal musst du dir überlegen, wie du es verschlüsseln willst.
Zum Beispiel könntest du mal hier gucken:
https://www.digiducation.de/kurse/kryptographie/lektion/lektion-3-weiterfuehrende-aufgaben-2/
Auf die Buchstaben des Keys kannst du einzeln zugreifen, indem du den Index ansprichst:
- key[0] wäre S
- key[1] wäre E
usw.