Benutzer:Flo2154/Verschlüsselungsmethoden/ROT13
Aus SELFHTML-Wiki
(auch als Caesar-Verschlüsselung bekannt)
Bei dieser Methode werden lediglich die einzelnen Zeichen einer Zeichenkette um 13 Stellen in der ASCII-Tabelle verschoben. Zahlen werden hier nicht berücksichtigt.
Beispiel
function rot_13(str) {
var keycode = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var new_str = "";
for(i=0; i<str.length; i++) {
var codechar = str.substring(i, i + 1);
var pos = keycode.indexOf(codechar.toUpperCase());
if(pos >= 0) {
pos = (pos + keycode.length / 2) % keycode.length;
codechar = (codechar == codechar.toUpperCase()) ? keycode.substring(pos, pos + 1) : keycode.substring(pos, pos + 1).toLowerCase();
}
new_str += codechar;
}
return textrot;
}
Erweitern der Funktionalität
Will man auch Zahlen mit der gleichen Methode verschieben, muss man die Funktion ein wenig umschreiben:
function rot_13(str) {
var alphabeth = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var numbers = "1234567890";
var new_str = "";
for(i=0; i<str.length; i++) {
var codechar = str.substring(i, i + 1);
var pos = alphabeth.indexOf(codechar.toUpperCase());
if(pos >= 0) {
pos = (pos + alphabeth.length / 2) % alphabeth.length;
codechar = (codechar == codechar.toUpperCase()) ? alphabeth.substring(pos, pos + 1) : alphabeth.substring(pos, pos + 1).toLowerCase();
}
else {
pos = numbers.indexOf(codechar);
if(pos >= 0) {
pos = (pos + numbers.length / 2) % numbers.length;
codechar = numbers.substring(pos, pos + 1);
}
}
new_str += codechar;
}
return new_str;
}