Created
February 24, 2015 21:06
-
-
Save dervondenbergen/fa439aeb4d84444d0b14 to your computer and use it in GitHub Desktop.
Caeser Verschlüsselung
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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