Heim  >  Artikel  >  Backend-Entwicklung  >  So schreiben Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm

So schreiben Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm

PHPz
PHPzOriginal
2023-04-24 09:11:111134Durchsuche

Caesar Cipher ist ein einfacher Verschlüsselungsalgorithmus, auch bekannt als Shift-Chiffre. Sein Prinzip besteht darin, jeden Buchstaben im Klartext um einen festen Betrag zu verschieben, um den Chiffretext zu erhalten. In diesem Artikel erfahren Sie, wie Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm schreiben.

Lassen Sie uns zunächst die Prinzipien der Verschlüsselung und Entschlüsselung der Caesar-Chiffre überprüfen. Für einen bestimmten Buchstaben kann sein Wert nach der Verschlüsselung durch die Caesar-Chiffre durch die folgende Formel ausgedrückt werden:

Ciphertext = (Klartext + Schlüssel) mod 26

In dieser Formel stellt „Klartext“ den ursprünglichen Buchstaben dar, „Schlüssel“ bedeutet den Betrag, um den wir die Buchstaben verschieben möchten, und „mod 26“ bedeutet, die Buchstaben auf 26 Positionen im Alphabet abzubilden, um den Chiffretext zu erhalten.

Als nächstes implementieren wir ein einfaches Caesar-Verschlüsselungsprogramm, bei dem wir den Klartext und den Schlüssel als Eingabe verwenden und dann den Chiffretext ausgeben.

Zuerst müssen wir das Paket „fmt“ importieren, damit wir Benutzereingaben lesen und Ergebnisse ausgeben können. Wir werden auch String-Konstanten verwenden, um die Reihenfolge der 26 Buchstaben zu definieren, damit wir daraus bestimmte Buchstaben auswählen können.

package main

import "fmt"

const alphabet = "abcdefghijklmnopqrstuvwxyz"

Als nächstes definieren wir eine Funktion, die einen String und eine Ganzzahl als Eingabe akzeptiert und einen String zurückgibt. Diese Funktion implementiert die Verschlüsselungsfunktion der Caesar-Verschlüsselung:

func caesarCipher(s string, k int) string {
    var result []byte

    for i := 0; i = 'a' && c = 'A' && c <p> In der obigen Funktion definieren wir zunächst ein leeres Byte-Slice, um das verschlüsselte Ergebnis zu speichern. Anschließend verwenden wir eine Schleife, um jedes Zeichen in der Eingabezeichenfolge zu durchlaufen. Wenn es sich bei dem Zeichen um einen Kleinbuchstaben handelt, wandeln wir ihn in eine Ganzzahl um, fügen dann den Schlüssel zu diesem Wert hinzu und ordnen ihn schließlich mithilfe einer Modulus-Operation einer Position im Alphabet zu. Abschließend fügen wir die verschlüsselten Buchstaben zum Ergebnis hinzu. </p><p>Bei Großbuchstaben können wir auch etwas Ähnliches tun. Der Unterschied besteht darin, dass wir sie zuerst in Kleinbuchstaben umwandeln, sie dann einer Position im Alphabet zuordnen und schließlich in Großbuchstaben umwandeln müssen. </p><p>Abschließend schreiben wir eine einfache Hauptfunktion, um Benutzereingaben zu lesen und die Ergebnisse auf dem Terminal auszugeben. Hier ist das komplette Programm: </p><pre class="brush:php;toolbar:false">package main

import (
    "fmt"
    "unicode"
)

const alphabet = "abcdefghijklmnopqrstuvwxyz"

func caesarCipher(s string, k int) string {
    var result []byte

    for i := 0; i = 'a' && c = 'A' && c <p> Jetzt können wir das Programm ausführen und testen, ob es erfolgreich war. Das Folgende ist ein Screenshot einer Beispieleingabe und -ausgabe: </p><p><img src="https://img.php.cn/upload/article/000/000/068/168230421494581.png" alt="So schreiben Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm" title="So schreiben Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm"></p><p>Wie Sie der obigen Abbildung entnehmen können, hat unser Programm die Caesar-Verschlüsselungsfunktion erfolgreich implementiert. Natürlich handelt es sich dabei nur um eine sehr einfache Verschlüsselungsmethode, die leicht geknackt werden kann. Daher müssen in praktischen Anwendungen komplexere Verschlüsselungsalgorithmen zum Schutz sensibler Daten und Informationen eingesetzt werden. </p>

Das obige ist der detaillierte Inhalt vonSo schreiben Sie mit Golang ein einfaches Caesar-Verschlüsselungsprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn