Skip to content

Instantly share code, notes, and snippets.

@dervondenbergen
Created February 24, 2015 21:06
Show Gist options
  • Save dervondenbergen/fa439aeb4d84444d0b14 to your computer and use it in GitHub Desktop.
Save dervondenbergen/fa439aeb4d84444d0b14 to your computer and use it in GitHub Desktop.
Caeser Verschlüsselung
var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
function cipherText () {
// leeren Text definieren
var ciphered = '';
// shiftlength ist die Anzahl, um wie viel die Buchstaben verschoben sind
var shiftlength = shift.value;
// inputtext ist der Text in einem Textfeld, der verschlüsselt gehört
var inputtext = input.value;
// eine Schleife, die solange läuft, bis jedes Zeichen im Text umgewandelt wurde
for (var i = 0; i < inputtext.length; i++) {
// char ist pro schleifen iteration immer nur ein einzelnes Zeichen
var char = inputtext[i];
// isLowercase ist ein Boolean, welcher angibt, ob das Zeichen groß- bzw. kleingeschrieben ist
var isLowercase = char === char.toLowerCase();
// index ist die Stelle des einzelnen Zeichen im gesamten Alphabet
var index = alphabet.indexOf(char.toUpperCase());
// wenn es das Zeichen im Alphabet gibt (das heißt kein Sonderzeichen), dann wird dieses umgewandelt
if (index > -1) {
// newindex ist die Stelle des Zeichen, wenn die Verschiebung zur urpsünglichen Stelle dazugerechnet wird
var newindex = index + Math.floor(shiftlength);
// wenn diese größer als 25 (Buchstabe "Z") ist, wird von null aus gezählt
if (newindex > 25) {
newindex = newindex - 26;
}
// char wird das neue Zeichen
char = alphabet[ newindex ];
// wenn der Boolean wert isLowercase waht ist, wird das Zeichen wieder klein gemacht
if (isLowercase) { char = char.toLowerCase() };
}
// das einzelne Zeichen wird an den veränderten Text gehängt
ciphered = ciphered.concat(char);
}
// das Ausgabetextfeld bekommt als Inhalt den umgewandelten Eingabetext
output.value = ciphered;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment