Heim > Web-Frontend > js-Tutorial > So bauen Sie eine Chiffre -Maschine mit JavaScript auf

So bauen Sie eine Chiffre -Maschine mit JavaScript auf

Joseph Gordon-Levitt
Freigeben: 2025-02-14 09:34:11
Original
511 Leute haben es durchsucht

Dieses Tutorial zeigt Ihnen, wie Sie mit JavaScript eine Caesar -Chiffre -Maschine erstellen. Die Caesar -Chiffre verschiebt jeden Buchstaben in einer Nachricht eine bestimmte Anzahl von Orten.

How to Build a Cipher Machine with JavaScript

Wir erstellen eine HTML -Seite mit einem Formular, um die Nachricht und den Schaltwert einzugeben, und ein Div, um das verschlüsselte Ergebnis anzuzeigen.

Der JavaScript -Code enthält:

  • ein Alphabet -Array.
  • DOM Manipulation zum Zugriff auf Formularelemente.
  • Ein Ereignishandler für die Schaltfläche Senden.
  • und eine encrypt -Funktion, die die Caesar-Chiffre anwendet, die Nicht-Alphabet-Zeichen und die Fallempfindlichkeit behandelt.

Hier ist ein Beispiel für den fertigen Code. Experimentieren Sie mit dem Erstellen von geheimen Nachrichten!

Erstellen Sie zuerst caesar.html:

<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='utf-8'>
  <title>Caesar Cipher</title>
</head>
<body>
  <h1>Caesar Cipher</h1>
  <form>
    <label>Plaintext:</label>
    <textarea name='plaintext'>Top Secret</textarea><br>
    <label>Shift:</label>
    <input type='number' name='shift' value='5' min='1' max='26'>
    <input type='submit' value='encrypt'>
  </form>
  <h2>Output</h2>
  <div id='output'></div>
  <🎜>
</body>
</html>
Nach dem Login kopieren

Diese HTML erstellt eine einfache Form. Die Shift -Eingabe stand auf 5, aber Sie können es anpassen.

Erstellen Sie als nächstes main.js im selben Ordner:

const alphabet = [
  'A','B','C','D','E','F',
  'G','H','I','J','K','L',
  'M','N','O','P','Q','R',
  'S','T','U','V','W','X',
  'Y','Z'
];

const form = document.forms[0];
const output = document.getElementById('output');

form.addEventListener ('submit',event => {
  event.preventDefault();
  output.innerHTML = [...form.plaintext.value].map(char => encrypt(char)).join('');
});

function encrypt(char) {
  const shift = Number(form.shift.value);
  if (alphabet.includes(char.toUpperCase())) {
    const position = alphabet.indexOf(char.toUpperCase());
    const newPosition = (position + shift)%26;
    return alphabet[newPosition];
  } else {
    return char;
  }
}
Nach dem Login kopieren

Dieser JavaScript -Code definiert das Alphabet, erhält Formelemente, fügt einen Ereignishörer hinzu, um die Formulare zu verarbeiten, und enthält die encrypt -Funktion, die die Caesar -Chiffre ausführt. Die Funktion encrypt überlastet Großbuchstaben; Kleinbuchstaben werden implizit von den Methoden includes und indexOf behandelt.

How to Build a Cipher Machine with JavaScript

Dies vervollständigt die Caesar -Chiffre -Maschine. Denken Sie daran, dass dies eine einfache Chiffre ist und nicht für sichere Kommunikation geeignet ist.

häufig gestellte Fragen (FAQs) (für die Kürze zusammengefasst)

  • Caesar -Chiffre: Eine Substitution -Verschiebung von Buchstaben Eine feste Anzahl von Orten.
  • JavaScript-Implementierung: Erstellen Sie eine Funktion, die durch die Zeichenfolge iteriert wird, Buchstabenpositionen verschieben und nicht alphabetische Zeichen und Fall behandeln.
  • Nicht-Alphabet-Zeichen: Überprüfen Sie, ob ein Zeichen ein Buchstaben vor dem Wechsel ist; Ansonsten halten Sie es unverändert.
  • Fallempfindlichkeit: Um die Eingabe vor dem Verarbeitung in Großbuchstaben oder Kleinbuchstaben umwandeln, oder Fälle einzeln behandeln.
  • Entschlüsselung: Verschiebungszeichen in der entgegengesetzten Richtung unter Verwendung des bekannten Schaltwerts. Wenn unbekannt, versuchen Sie alle möglichen Verschiebungen.
  • Optimierung: Vorbereitete verschobene Werte vorab kalkuliert oder verwenden Sie eine StringBuilder für eine schnellere String-Manipulation.
  • Sicherheit: Nicht sicher; Verwenden Sie moderne Algorithmen wie AES zur sicheren Verschlüsselung.
  • bis zu anderen Chiffren ausdehnen: Zusammenfassung der verschiebenden Logik in eine separate Funktion, die durch andere Verschlüsselungsimplementierungen ersetzt wird.
  • Test: Verschlüsseln Sie den bekannten Klartext mit einem bekannten Schaltwert und überprüfen Sie die Ausgabe. Verwenden Sie ein Testframework für automatisierte Tests.
  • Sonderzeichen: Erstellen Sie ein benutzerdefiniertes Alphabet mit allen gewünschten Zeichen.

Das obige ist der detaillierte Inhalt vonSo bauen Sie eine Chiffre -Maschine mit JavaScript auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage