Caesar-Chiffre in JavaScript

Muhammad Muzammil Hussain 12 Oktober 2023
  1. Caesar-Chiffre
  2. Algorithmus der Caesar-Chiffre
  3. Caesar-Chiffre in JavaScript
Caesar-Chiffre in JavaScript

In diesem Artikel lernen und verwenden wir Caesar Cipher im JavaScript-Quellcode. Die Caesar-Chiffre ist eine Technik zum Verschlüsseln und Entschlüsseln der Zeichenkette beim Programmieren.

Caesar-Chiffre

Es ist eine der einfachsten und fortschrittlichsten Techniken zum Verschlüsseln von Daten. In dem bereitgestellten Zeichenfolgentext ersetzen und ändern wir jeden Buchstaben durch den Buchstaben, der im Alphabet eine feste Zahl nach unten oder oben darstellt.

Wenn wir beispielsweise die aufwärts gerichtete feste Zahl 3 definieren, wird "A" in einer Zeichenfolge durch "D" ersetzt, und "B" wird durch "E" ersetzt, und so weiter.

Nehmen wir an, wir haben die feste Zahl 3 nach oben definiert, um einen Buchstaben zu verschieben. Unsere Verschlüsselung liefert ein Ergebnis, wie unten gezeigt.

original string = "hello world"
result string = "khoor zruog"

Algorithmus der Caesar-Chiffre

Eine Zeichenfolge, die verschlüsselt werden muss, wird Text genannt; Zuerst müssen wir eine feste Zahl zwischen 0 und 25 definieren, da wir wissen, dass die Gesamtalphabete 26 sind. dann müssen wir den bereitgestellten Text Zeichen für Zeichen durchlaufen.

Konvertieren Sie für jeden Index jedes Zeichen gemäß der Regel des Abwärtsinkrements oder Aufwärtsinkrements, die wir bereits festgelegt haben. Schließlich müssen wir die resultierende Zeichenfolge generieren.

Caesar-Chiffre in JavaScript

In JavaScript verwendeten Entwickler meistens integrierte oder selbst erstellte Verschlüsselungstechniken, um Daten während der Interaktion mit dem Server zu sichern. In einer JavaScript-Webanwendung müssen wir unsere Daten die meiste Zeit verschlüsseln, bevor wir sie in unsere Datenbank hochladen.

Wir werden unten ein Beispiel für die JavaScript-Funktion erstellen, die uns hilft, unsere Zeichenfolge in der Caesar-Cipher-Technik zu verschlüsseln.

Beispiel:

const org = 'hello world';
const createMAp = (alphabets, shift) => {
  return alphabets.reduce((charsMap, currentChar, charIndex) => {
    const copy = {...charsMap};
    let ind = (charIndex + shift) % alphabets.length;
    if (ind < 0) {
      ind += alphabets.length;
    };
    copy[currentChar] = alphabets[ind];
    return copy;
  }, {});
};
const encrypt = (org, shift = 0) => {
  const alphabets = 'abcdefghijklmnopqrstuvwxyz'.split('');
  const map = createMAp(alphabets, shift);
  return org.toLowerCase().split('').map(char => map[char] || char).join('');
};

console.log('original string : ' + org)
console.log('result string :' + encrypt(org, 3))

Ausgabe:

"original string : hello world"
"result string :khoor zruog"

In der obigen JavaScript-Quelle haben wir die Funktion encrypt erstellt, in der wir Zeichenfolgenwerte und feste Zahlen als Argument übergeben. Wir haben alle Alphabete definiert und Kartenobjekte mit der Funktion createMap() generiert.

In der Funktion createMap() haben wir die Methode reduce verwendet, um das Objekt zu generieren. Wir haben die Methoden toLowerCase() und split() verwendet, um neue Zeichenfolgen zu vermeiden und zu generieren, die Sonderzeichen mit der festen Zahl 3 vermeiden.