Bergervei/Javascript-Verschlüsselungsverfahren
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
== Symmetrische Verschlüsselungsverfahren ==
=== Cäsar-Verfahren ===
<code id="4f02160f2a930">
function Wandeln(Zeichen, Schritt) {
var Code = Zeichen.charCodeAt(0);
if (Code > 64 && Code < 91) {
Code = Code + Schritt;
while (Code > 90) Code = Code - 26;
while (Code < 65) Code = Code + 26;
return String.fromCharCode(Code);
}
else
return Zeichen;
}
function CaesarCodieren(Zeichenkette, Schluesselbuchstabe, Richtung) {
var Neukette = "";
Zeichenkette = Zeichenkette.toUpperCase();
Schluesselbuchstabe = Schluesselbuchstabe.toUpperCase();
for (var i = 0; i < Zeichenkette.length; i++) {
var Buchstabe = Zeichenkette.substr(i, 1);
var Schritt = Schluesselbuchstabe.charCodeAt(0) - 65;
Neukette = Neukette + Wandeln(Buchstabe, Richtung * Schritt);
}
return Neukette;
}
function CaesarVerschluesseln(Zeichenkette, Schluesselbuchstabe) {
return CaesarCodieren(Zeichenkette, Schluesselbuchstabe, 1);
}
function CaesarEntschluesseln(Zeichenkette, Schluesselbuchstabe) {
return CaesarCodieren(Zeichenkette, Schluesselbuchstabe, -1);
}
</code>
<run id="4f02160f2aa0c">
CaesarVerschluesseln("Hallo Welt!", "B");
</run>
<run id="4f02160f2aa6a">
CaesarEntschluesseln("IBMMP XFMU!", "B");
</run>
=== Vigenère-Verfahren ===
<code id="4f02160f2a996">
function VigenereCodieren(Zeichenkette, Schluessel, Richtung) {
var Neukette = "";
var j = 0;
Zeichenkette = Zeichenkette.toUpperCase();
Schluessel = Schluessel.toUpperCase();
for (var i = 0; i < Zeichenkette.length; i++) {
var Buchstabe = Zeichenkette.substr(i, 1);
var Schluesselbuchstabe = Schluessel.substr(j, 1);
var Schritt = Schluesselbuchstabe.charCodeAt(0) - 65;
Neukette = Neukette + Wandeln(Buchstabe, Richtung * Schritt);
j = (j + 1) % Schluessel.length;
}
return Neukette;
}
function VigenereVerschluesseln(Zeichenkette, Schluessel) {
return VigenereCodieren(Zeichenkette, Schluessel, 1);
}
function VigenereEntschluesseln(Zeichenkette, Schluessel) {
return VigenereCodieren(Zeichenkette, Schluessel, -1);
}
</code>
<run id="4f02160f2aac5">
VigenereVerschluesseln("Hallo Welt!", "ABBA");
</run>
<run id="4f02160f2ab21">
VigenereEntschluesseln("HBMLO XELU!", "ABBA");
</run>