Signatur
Beschreibung
str_rot13() implementiert den ROT13-Algorithmus: Jeder lateinische Buchstabe (A–Z, a–z) wird um 13 Stellen im Alphabet rotiert. Da das Alphabet 26 Zeichen hat, ist ROT13 selbstinvers – dieselbe Funktion wird sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet. Zahlen, Sonderzeichen und Nicht-ASCII-Zeichen bleiben unverändert.
ROT13 ist keine sichere Verschlüsselung und sollte niemals für sicherheitskritische Anwendungen genutzt werden. Es handelt sich lediglich um eine einfache Textverschleierung, die historisch in Usenet-Foren verwendet wurde, um Spoiler oder anstößige Inhalte vor zufälligem Lesen zu verbergen.
Typische Anwendungsfälle sind: einfache Obfuskation von Texten, Rätsel, Lernzwecke oder das Testen von String-Transformationspipelines. Da die Funktion bidirektional ist, genügt ein einziger Aufruf sowohl für die Kodierung als auch für die Dekodierung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $string Pflicht | string | Der Eingabe-String, auf den die ROT13-Transformation angewendet wird. Alle Nicht-Buchstaben-Zeichen (Zahlen, Satzzeichen, Leerzeichen, Unicode-Zeichen außerhalb von A–Z/a–z) werden unverändert übernommen. |
Rückgabewert
Beispiele
Einfache ROT13-Kodierung und Dekodierung
<?php
$original = 'Hallo, Welt!';
$kodiert = str_rot13($original);
$dekodiert = str_rot13($kodiert);
echo $kodiert . PHP_EOL; // Uryyb, Jryg!
echo $dekodiert . PHP_EOL; // Hallo, Welt!
Spoiler-Verschleierung wie im Usenet
<?php
$spoiler = 'Der Mörder ist der Gärtner.';
$verschleiert = str_rot13($spoiler);
echo 'Achtung, Spoiler (ROT13): ' . $verschleiert . PHP_EOL;
// Originaltext wiederherstellen:
echo str_rot13($verschleiert) . PHP_EOL;
ROT13 mit Zahlen und Sonderzeichen
<?php
// Zahlen und Sonderzeichen bleiben unverändert
$gemischt = 'PHP 8.3 ist toll!';
echo str_rot13($gemischt) . PHP_EOL;
// Wichtig · Fallstricke
Sicherheitshinweis: ROT13 ist keine Verschlüsselung. Verwende es niemals zum Schutz sensibler Daten wie Passwörter, persönliche Informationen oder geheime Konfigurationswerte. Für echte Verschlüsselung stehen in PHP Funktionen wie openssl_encrypt() oder die sodium_*-Funktionen zur Verfügung.
Umlaute und andere Nicht-ASCII-Buchstaben (ä, ö, ü, é usw.) werden von str_rot13() nicht transformiert und bleiben unverändert. Wer eine vollständige ROT13-Unterstützung für Unicode-Texte benötigt, muss eine eigene Implementierung schreiben.