エンコード

ROT13 / シーザー暗号

シーザー暗号 — ラテンアルファベットの文字を巡回的にずらす暗号。ROT13 はずらし数13の特別な場合(下のボタン)で、対称的(encode と decode の結果が同じ)です。それ以外の文字(数字、キリル文字、記号)は変更されません。

A Caesar cipher cyclically shifts every letter of the alphabet by a fixed number of positions. ROT13 is the special case with a shift of 13, which makes the cipher self-inverting: apply ROT13 twice and you get the original text back.

How to use it

Common uses

Things to keep in mind

ROT13 is not encryption in any security sense — it's obfuscation, trivially broken by hand without any tool or key.

Since the Latin alphabet has 26 letters and 13 is exactly half of that, ROT13 is symmetric: the same operation encodes and decodes.

このツールに関する記事: ROT13とシーザー暗号:単純な文字の置き換え

よくある質問

ROT13 は暗号として安全ですか?

安全ではありません。ROT13はアルファベットを13文字分ずらすだけの単純な置換で、鍵も存在しないため誰でも即座に解読できます。フォーラムのネタバレ隠しなど、真剣な用途ではなく軽い難読化や遊びのために使われます。

なぜ ROT13 は encode と decode が同じ結果になるのですか?

アルファベットは26文字で、13はその半分だからです。2回続けて13文字ずらすと元の文字に戻るため、同じ操作を2回適用すると平文に戻る対称的な性質があります。

シフト量を変えると何が変わりますか?

シフト量はアルファベットを何文字分ずらすかを指定するもので、ROT13はシフト量13の特別な場合です。1〜25の任意の値を指定でき、ラテンアルファベット以外の数字や記号、他の文字体系は変更されません。

ROT47 と ROT13 は何が違いますか?

ROT47はより広いASCII範囲(33〜126)を対象とするため、ラテンアルファベットだけでなく数字や句読点、記号も追加でシフトします。自己反転するシフトという基本的な考え方は同じです。

ツールなしで ROT13 を解読できますか?

はい、簡単にできます。各文字を頭の中で13文字ずらしながら読んだり、A↔N、B↔Oというようにアルファベット全体でペアを覚えておけば解読できます。これは保護手段ではなく、あくまで軽い難読化です。

記事: エンコード

Base64とは何か、なぜ必要で、どう動くのか

Base64がバイナリデータをASCIIテキストにどう変換するか、実際にいつ必要になるか。

Base32:Base64との違いと、どんな場面で便利か

大文字小文字を区別しないBase32のアルファベットと、Base64より便利な場面。

URL Encode/Decode:リンクにおけるパーセントエンコーディング

アドレスやパラメータ中の特殊文字が%XXの並びに変わる仕組み。

HTML Entities:特殊文字を安全に表示する方法

< > &をエスケープすべき理由と、それがマークアップの破損をどう防ぐか。

JWT:トークンの構造と「デコード」の意味

JWTのheader、payload、signatureと、デコードが署名検証と同じでない理由。

Unicode Escape:\uXXXX形式が意味するもの

JSONやJS文字列に現れる\u0041のようなシーケンスがどこから来て何を意味するか。

Punycode:国際化ドメイン名がDNSでどう動くか

非ラテン文字を含むドメインがxn--プレフィックス付きのASCII形式にどう変わるか。

モールス符号:テキストが点と線に変わる仕組み

文字を点と線でエンコードする原理と、モールス符号が今どこで使われているか。

Data URI:画像をコードに直接埋め込むべき場面

Data URIがファイルの内容をHTMLやCSSに直接埋め込む仕組みと、それが有効な場面。

Gzip + Base64:テキストとして送るためのデータ圧縮

圧縮されたバイナリデータをテキストフィールドに入れる前にBase64でもエンコードする理由。

XML Entities:XML文書内の文字をエスケープする

これがないと解析時に文書が壊れる、XMLの5つの必須エンティティ。