🔐 ROT13 Kodierer & Dekodierer
Text mit der selbstumkehrenden ROT13-Chiffre umwandeln - Perfekt zum Verstecken von Spoilern und zur einfachen Textverschleierung
🎯 ROT13-Alphabet-Zuordnung
ROT13 ersetzt jeden Buchstaben durch den Buchstaben, der 13 Positionen danach kommt. Da es 26 Buchstaben gibt, führt die zweimalige Anwendung von ROT13 zum Originaltext zurück.
🏛️ Was ist ROT13?
ROT13 ("rotiere um 13 Stellen") ist ein Sonderfall der Cäsar-Chiffre mit einer festen Verschiebung von 13. Es wird häufig in Online-Foren und Newsgroups verwendet, um Spoiler, Rätsellösungen und Pointen zu verbergen.
Einfache Substitutions-Chiffre
Jeder Buchstabe wird durch einen anderen Buchstaben ersetzt, der 13 Positionen im Alphabet entfernt ist.
Selbstumkehrend
Wenden Sie ROT13 zweimal an, um den Originaltext zurückzuerhalten - derselbe Vorgang für Kodierung und Dekodierung.
Groß-/Kleinschreibung beibehaltend
Großbuchstaben bleiben groß, Kleinbuchstaben bleiben klein.
Weit verbreitet
Wird auf Plattformen, in Foren und Texteditoren zur schnellen Verschleierung verwendet.
⚙️ Wie es funktioniert
Jeder Buchstabe wird durch den Buchstaben ersetzt, der 13 Positionen im Alphabet vor ihm liegt. Wenn das Ende erreicht ist, wird zum Anfang umgebrochen:
- A ↔ N, B ↔ O, C ↔ P, usw.
- Zahlen und Symbole bleiben unverändert (außer die Option ist aktiviert)
- Mathematische Formel: (x + 13) mod 26
- Gleicher Prozess für Kodierung und Dekodierung
🔐 Sicherheit & Verwendung
ROT13 bietet keine kryptografische Sicherheit und ist trivial zu brechen. Es ist jedoch perfekt für: and is trivially broken. However, it's perfect for:
🎬 Spoiler verstecken
Verhindert das versehentliche Lesen von Spoilern zu Filmen, Büchern oder Spielen in Foren.
📧 E-Mail-Verschleierung
Verschleiert E-Mail-Adressen vor Spam-Bots auf Websites.
🎓 Kryptografie lehren
Führt Studenten in grundlegende Verschlüsselungskonzepte ein.
🎮 Rätsel & Spiele
Erstellt einfache Worträtsel und Scherzfragen.
❓ Häufig gestellte Fragen
💻 ROT13 in verschiedenen Programmiersprachen
Python
import codecs
# Method 1: Using codecs
text = "Hello World"
encoded = codecs.encode(text, 'rot13')
print(encoded) # Output: Uryyb Jbeyq
# Method 2: Manual implementation
def rot13(text):
result = []
for char in text:
if char.isalpha():
offset = 65 if char.isupper() else 97
result.append(chr((ord(char) - offset + 13) % 26 + offset))
else:
result.append(char)
return ''.join(result)
print(rot13("Hello World")) # Output: Uryyb Jbeyq
JavaScript
function rot13(str) {
return str.replace(/[a-zA-Z]/g, function(char) {
const code = char.charCodeAt(0);
const offset = code >= 65 && code <= 90 ? 65 : 97;
return String.fromCharCode((code - offset + 13) % 26 + offset);
});
}
console.log(rot13("Hello World")); // Output: Uryyb Jbeyq
PHP
<?php
// Method 1: Using str_rot13
$text = "Hello World";
$encoded = str_rot13($text);
echo $encoded; // Output: Uryyb Jbeyq
// Method 2: Manual implementation
function rot13_manual($str) {
$result = '';
for ($i = 0; $i < strlen($str); $i++) {
$char = $str[$i];
if (ctype_alpha($char)) {
$offset = ord(ctype_upper($char) ? 'A' : 'a');
$result .= chr((ord($char) - $offset + 13) % 26 + $offset);
} else {
$result .= $char;
}
}
return $result;
}
?>
Java
public class ROT13 {
public static String encode(String text) {
StringBuilder result = new StringBuilder();
for (char c : text.toCharArray()) {
if (Character.isLetter(c)) {
char offset = Character.isUpperCase(c) ? 'A' : 'a';
result.append((char) ((c - offset + 13) % 26 + offset));
} else {
result.append(c);
}
}
return result.toString();
}
public static void main(String[] args) {
System.out.println(encode("Hello World"));
// Output: Uryyb Jbeyq
}
}
C++
#include <iostream>
#include <string>
#include <cctype>
std::string rot13(const std::string& text) {
std::string result;
for (char c : text) {
if (std::isalpha(c)) {
char offset = std::isupper(c) ? 'A' : 'a';
result += (c - offset + 13) % 26 + offset;
} else {
result += c;
}
}
return result;
}
int main() {
std::cout << rot13("Hello World") << std::endl;
// Output: Uryyb Jbeyq
return 0;
}
Linux/Unix-Befehlszeile
# Using tr command
echo "Hello World" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
# Output: Uryyb Jbeyq
# Decode (same command)
echo "Uryyb Jbeyq" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
# Output: Hello World
# Process a file
cat input.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' > output.txt
📚 Historischer Kontext
ROT13 wurde in den 1980er Jahren im Usenet populär, um potenziell anstößige Inhalte zu verbergen. Es wird als "das Usenet-Äquivalent zum Drucken einer Antwort auf dem Kopf" beschrieben.
- Entstanden in der frühen Internetkultur
- Wird immer noch in modernen Foren und Diskussionsforen verwendet
- In viele Texteditoren (wie Vim) integriert
- Standard in Unix-Dienstprogrammen
🔗 Verwandte Chiffrierwerkzeuge
🔄 Cäsar-Chiffre
Klassische Verschiebungs-Chiffre mit anpassbaren Verschiebungswerten (1-25). Flexibler als ROT13.
🔀 Atbash-Chiffre
Antike hebräische Chiffre, die das Alphabet umkehrt (A↔Z, B↔Y). Eine weitere selbstumkehrende Methode.
🔐 Vigenère-Chiffre
Polyalphabetische Chiffre mit schlüsselwortbasierter Verschlüsselung für fortgeschrittene Sicherheit.
📊 Base64-Kodierer
Konvertiert Binärdaten in eine ASCII-Textdarstellung für eine sichere Datenübertragung.