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; }