Kaj je to orodje?
ROT13 ("zavrti za 13 mest") vsako črko zamenja s tisto, ki je 13 mest naprej po abecedi, po Z pa se ovije nazaj na začetek. A postane N, B postane O in tako naprej. Številke, ločila in presledki ostanejo nedotaknjeni.
Ne zagotavlja nikakršne resnične varnosti — ni šifriranje, temveč zgolj prikrivanje. Njegova dejanska uporaba je bila od nekdaj družbena, ne kriptografska: skrivanje spojlerja ali poante šale pred tvojimi lastnimi očmi, dokler se zavestno ne odločiš dekodirati besedilo, kar je bilo pogosto na starih Usenet skupinah in forumih z ugankami.
Zakaj ga uporabiti?
- Skrij (in razkrij) spojlerje, rešitve ugank ali poante šal v objavah na forumih in sporočilih.
- Kodiranje in dekodiranje sta ista operacija — prilepi ROT13-izirano besedilo nazaj, da dobiš izvirnik.
- Takojšnje, deluje na besedilu poljubne dolžine.
- 100% zasebno: tvoje besedilo se pretvarja lokalno, nič se ne nalaga.
- Brezplačno, brez registracije, brez omejitve znakov.
Kako ga uporabljati
- Prilepi ali vtipkaj svoje besedilo v vnosno polje.
- Klikni "Uporabi ROT13".
- Kopiraj rezultat — za obratni postopek kasneje prilepi ta rezultat nazaj in ponovno klikni gumb.
Primer
Vnos
Hello, World!Rezultat
Uryyb, Jbeyq!Če "Uryyb, Jbeyq!" ponovno poženeš skozi isto orodje, dobiš natanko "Hello, World!" nazaj — to je pravzaprav bistvo tega, da je ROT13 sam sebi inverz.
Praktični nasveti
- Za skrivanje spojlerja v objavi na forumu ga pretvori z ROT13 in dodaj opombo, kot je "(ROT13: spojlerji)", da bralci vedo, da gre za namerno, ne pokvarjeno besedilo.
- ROT13 ohranja velikost črk: velike črke po premiku ostanejo velike, male ostanejo male.
- Če potrebuješ resnično varnost (zaščito nečesa pred odločenim bralcem), je ROT13 popolnoma napačno orodje — uporabi pravo šifriranje.
- Ker je samoinverzen, ti nikoli ni treba pomniti, ali je del besedila "že kodiran" — če ga poženeš skozi dvakrat, vedno dobiš nazaj navadno besedilo.
ROT13 v primerjavi z drugimi preprostimi šiframi
ROT13 je poseben primer splošne "Cezarjeve šifre" (poljuben fiksen premik črk) in je edini premik, ki je sam sebi inverz — ROT1 do ROT25 vsi zahtevajo ločen korak dekodiranja z nasprotnim premikom, kar je natanko razlog, da je ROT13 postal standard za priložnostno prikrivanje besedila namesto katere koli druge vrednosti premika.
Če delaš z dejanskimi kodiranimi podatkovnimi formati in ne s trikom za prikrivanje besedila, kodiranje Base64 in razpršilne funkcije (hashing) služijo resnično drugačnemu namenu (predstavljanje binarnih podatkov kot besedila oziroma ustvarjanje enosmernih odtisov) in niso obrnljivi, kot je ROT13.
Pogosta vprašanja
Je ROT13 varen? Ali ga lahko kdo razbije?
Ne — ROT13 ne zagotavlja nikakršne resnične varnosti. Obstaja le 26 možnih premikov črk, ROT13 pa nima ključa za ugibanje; kdorkoli prepozna besedilo ROT13, ga lahko dekodira takoj, ročno ali s katerim koli orodjem za ROT13. Nikoli ni bil zasnovan za to, da bi zadržal odločenega bralca, temveč le da zahteva namerno dodaten korak pred branjem (kar je natanko njegov smisel pri spojlerjih).
Zakaj isti gumb hkrati kodira in dekodira?
Ker je 13 natanko polovica 26-črkovne abecede, dvakratni premik naprej za 13 pripelje nazaj na začetek (13 + 13 = 26 = poln krog). Zato je ROT13 samoinverzen (imenovan tudi "involucija") — prva uporaba kodira, druga uporaba na rezultatu pa dekodira, brez potrebe po ločenem načinu.
Zakaj ROT13 ne spreminja številk ali ločil?
Klasičen algoritem ROT13 preslika samo 26 latinskih črk. Številke, presledki in ločila gredo skozi popolnoma nespremenjeni, zato "Hello, World!" po pretvorbi ohrani svojo vejico in klicaj.
Za kaj se ROT13 dejansko uporablja danes?
Predvsem za isto, za kar se je vedno uporabljal: skrivanje spojlerjev, rešitev ugank ali poant šal v objavah na forumih, komentarjih in datotekah README, tako da mora bralec narediti majhno namerno odločitev za dekodiranje, namesto da bi jih prebral po nesreči.
Ali to orodje shranjuje ali pošilja moje besedilo kamorkoli?
Ne. Premikanje črk poteka v JavaScriptu, ki teče v tvojem brskalniku. Nič, kar vtipkaš, se ne naloži, ne beleži in ne pošlje na strežnik.