[GO] Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python

Einführung

Als ich CTF startete, kam eine sogenannte Caesar-Verschlüsselung heraus, sodass eine Entschlüsselungsverarbeitung erforderlich war. Sie können es manuell tun, aber dies ist ein Programm! Es kann auch eine Rehabilitation sein! Also habe ich es sofort geschrieben. Mein Computer hatte nur eine Python-Entwicklungsumgebung, also gehen Sie mit Python!

Was ist Caesar Code?

Um es zu entschlüsseln, müssen Sie wissen, von welcher Art von Algorithmus der Code generiert wurde. Caesar-Code wird durch Verschieben von Zeichen um 3 Zeichen generiert. Wie einfach!

Verschlüsselungs- und Entschlüsselungsprogramm

Zunächst einmal die Verschlüsselung. Verschiebt Klartext Zeichen für Zeichen mit der angegebenen Taste (Nummer). Da der Fall anders ist, werden wir diesmal nur Alphabete verwenden. Es gibt 25 englische Buchstaben, also drehen Sie sich vorsichtig um. Verschlüsseln Sie die entsprechende Zeichenfolge "wjrslairznb"!

def crypt(plainStr, shiftInt):
    resultStr = ""
    for char in plainStr:
        if ord(char) + shiftInt > ord('z'):
            resultStr = resultStr + chr(ord(char) + shiftInt - 26)
        else:
            resultStr = resultStr + chr(ord(char) + shiftInt)
    print('crypt:' + resultStr)

Ausführungsergebnis スクリーンショット 2020-11-20 14.11.02.png

Die Entschlüsselung wurde einfach umgekehrt berechnet ...

def decrypt(cryptoStr, shiftInt):
    resultStr = ""
    for char in cryptoStr:
        if ord(char) - shiftInt < ord('a'):
            resultStr = resultStr + chr(ord(char) - shiftInt + 26)
        else:
            resultStr = resultStr + chr(ord(char) - shiftInt)
    print('decrypt:' + resultStr)

Ausführungsergebnis スクリーンショット 2020-11-20 14.12.52.png Es scheint einfacher und einfacher zu sein ...

Nebenbei: Caesar-Verschlüsselung ist als Verschlüsselung zu einfach, aber kann sie verwendet werden?

Nicht verfügbar. Verletzlich! !! Da es sich um einen Code handelt, der im alten Rom erstellt wurde, muss er in der Vergangenheit gültig gewesen sein. Kryptographie hat eine Geschichte.

abschließend

Eigentlich ist es eine Weile her, dass ich ein Programm hatte, und obwohl ich eine Python-Umgebung habe, habe ich es nicht so sehr berührt und es hat viel Spaß gemacht. Es gibt Unmengen solcher Programme, wenn Sie googeln, aber ich schreibe sie gerne zuerst selbst und schaue dann auf den Genie-Code und stimme später mit den Antworten überein.

Recommended Posts

Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python
Ich habe ein Caesar-Kryptografieprogramm in Python erstellt.
Schreiben Sie ein super einfaches molekulardynamisches Programm in Python
Schreiben Sie eine Dichotomie in Python
Caesar-Code (einschließlich Kanji) in Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Beim Schreiben eines Programms in Python
Ich habe ein Pay-Management-Programm in Python erstellt!
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Schreiben Sie eine kurze Eigenschaftsdefinition in Python
Schreiben Sie eine einfache Giermethode in Python
Schreiben Sie ein einfaches Vim-Plugin in Python 3
Schreiben Sie Python in MySQL
Ein Programm, das doppelte Anweisungen in Python entfernt
Einfache Pub / Sub-Programmhinweise in Python
Schreiben wir ein Python-Programm und führen es aus
Machen Sie einen Screenshot in Python
Schreiben Sie Pandec-Filter in Python
Erstellen Sie eine Funktion in Python
Empfangen Sie Wörterbuchdaten von Python-Programmen mit AppleScript
Schreiben Sie Python in Rstudio (reticulate)
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Versuchen Sie, Python mit pybind11 in ein C ++ - Programm einzubetten
[Anfänger] Was passiert, wenn ich ein Programm schreibe, das in Python auf PHP läuft?
Erstellen Sie ein Lesezeichen in Python
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Zeichne ein Herz in Python
Python-Programm von "Buch, das schwieriges Programmieren leicht lehrt"
Ein Allzweckprogramm, das Linux-Befehlszeichenfolgen mit Python formatiert
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie einen tabellengesteuerten Test in C.
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Schreiben Sie ein JSON-Schema mit Python DSL
Erstellen Sie einen DI-Container mit Python
Schreiben Sie einen HTTP / 2-Server in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
Schreiben Sie die AWS Lambda-Funktion in Python
ABC166 in Python A ~ C Problem
Kompatibilitätsdiagnoseprogramm in Python geschrieben
Schreiben Sie Selentestcode in Python
Löse ABC036 A ~ C mit Python
Implementierung eines einfachen Algorithmus in Python 2
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Schreiben Sie einen C-Sprach-Unit-Test in Python
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Ein Programm, das bestimmt, ob eine in Python eingegebene Zahl eine Primzahl ist