Ich schreibe ein Python-Programm zum Verschlüsseln und Entschlüsseln einer benutzerdefinierten Zeichenfolge. Dies wird nicht für etwas Ernsthaftes verwendet werden, es ist nur zum Spaß. Der Verschlüsseler scheint gut zu funktionieren, aber hier ist es, der Verschlüssler. Das Programm schreibt alles in eine Datei. Wie im folgenden Code zu sehen ist, durchläuft das Programm ASCII-Zeichen, wenn der Schlüssel (der vom Benutzer definiert wird) über 127 steht.Python 3.4 Verschlüsseler und Decrypter funktioniert nicht
Mein Problem ist, dass ich beim Entschlüsseln seltsame Zeichen bekomme. Es schlägt fehl, wenn eine Taste über 229.
Encrypter mit:
temp_key = 9999
message = "Hello"
result = ""
for char in message:
ecry_char_int = ord(char) - temp_key
while ecry_char_int < 0:
temp_key -= 128
ecry_char_int = 128 - temp_key
result += chr(ecry_char_int)
print(result)
Decrypter:
result2 = ""
encoded = result
ekey = 9999
for char in encoded:
decr_char_int = ord(char) + ekey
while decr_char_int > 127:
ekey -= 128
decr_char_int = ekey
result2 += chr(decr_char_int)
print(result2)
Zum Beispiel "Hello"
mit dem Schlüssel 9999
Verschlüsselung; Ich bekomme die verschlüsselte Zeichenfolge "qV]]`"
. Entschlüsseln String "qV]]`"
mit Schlüssel 9999
ich dieses:
'\x0fello'
Was ich versuche, dies herauszufinden ist, wie soll ich von stoppen geschieht, da es mit geschieht dies nur das erste Zeichen ist.
Hinweis: Ich möchte/kann keine zusätzlichen Module (z. B. Kryptographie) installieren, da dies hauptsächlich auf meinem Schulcomputer erfolgt.
Könnten Sie uns bitte ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) zur Verfügung stellen. – Hami
@MartijnPieters, Sie haben den seltsamen 15-stelligen ASCII-Code aus der Frage entfernt und können ihn nicht erneut hinzufügen, da eine Bearbeitung mindestens 6 Zeichen lang sein muss. – Hami
@Hami: nichts wurde entfernt, nur hinzugefügt; siehe den "Side-by-Side Markdown" Diff unter https://stackoverflow.com/posts/44477022/revisions –