ROT8000 Unicode暗号
Helloは聈聥聬聬聯になります。基本多言語面の文字は、空白も数字もどの文字体系も、面のちょうど半分だけずれ、同じ操作でもう一度変換すると元のテキストに戻ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Hello
- 結果
- 聈聥聬聬聯
- エンコード
- rot8000
- 入力の長さ
- 5
- 出力の長さ
- 5
このROT8000 Unicode暗号は、基本多言語面全体に可逆的な回転を適用し、各UTF-16コード単位を三万二千七百六十八位置だけずらし、剰余演算で折り返します。そのオフセットは六万五千五百三十六単位の面のちょうど半分なので、同じ操作がテキストを掻き乱し、かつ復元します。平文を一度送って隠し、暗号文をもう一度送ると元に戻ります。文字だけのROT13や印字可能ASCIIのROT47とは異なり、ROT8000は空白・句読点・数字・ラテン文字・CJK表意文字およびその他すべてのBMP単位をまとめて動かすため、混在スクリプトのメモも英語だけと同じ密度で難読化されます。代表的な確認として、HelloがCJK風の文字列になり、二回目の呼び出しで元に戻ることが挙げられます。
ROT8000とは何か、このツールが返すもの
ROT8000は基本多言語面全体の置換暗号です。U+0000からU+FFFFまでの六万五千五百三十六個のUTF-16コード単位を対象にします。各単位は三万二千七百六十八歩先の単位へ写され、剰余演算で折り返されるため、新しい符号は元の符号に0x8000を加えた下位十六ビットになります。
文字・数字・句読点・空白・非ラテン文字がまとめて動くので、文字だけのROT13よりはるかに密で、国際パスワードや設定断片、多スクリプトのチャレンジ文字列のような混在Unicodeトークンの難読化に適しています。このページは任意のシフト引数も言語ごとにぶれうる文字表も使わず、常にその正確な剰余規則だけを用います。
ストリーミング経路も、ROT13やROT47への静かなフォールバックもありません。
パズル・デモ・テストフィクスチャでのROT8000の位置づけ
開発者と教育者は、キャプチャ・ザ・フラッグのウォームアップ、古典的Unicode暗号の教科書章、鍵スケジュールではなく一つの関数で戻せる軽量クライアント難読化でROT8000に出会います。フロントエンドチームは、ラテン文字だけを覆う独自アルファベットを発明せずに、多言語のサンプル資格情報やトークン形の文字列をスクリーンショット用に掻き乱せます。
品質エンジニアは契約テスト用の決定的な符号化ペアを生成し、ROT8000対応をうたうミドルウェアが静かにROT13やROT47、別オフセットへ切り替われないようにします。コンテスト主催者は、サロゲート処理規則を変える不透明なWeb玩具に頼らず、控えめなUnicode句の解答キーを事前計算します。
プロダクトと教育ツールは、学習者が暗号文を貼るとUIが対合の性質の下で復元した平文を示す場面でこの変換を使います。無料で決定的なUnicodeテキスト道具の小さな実験室を組み立てるときは、他の符号化ヘルパーと組み合わせてください。
活用例
CTFとUnicode暗号のウォームアップ
パズル・教室・キャプチャ・ザ・フラッグ練習向けに、可逆な半面回転一つでBMPテキストを難読化し復元します。
可逆な多スクリプト難読化
ドキュメントやスクリーンショット内の多言語サンプルトークンや設定断片を隠し、同じROT8000呼び出しで取り戻します。
よくある質問
ROT8000の復号方法は?
同じ変換をもう一度適用してください。ROT8000は対合であり、符号化と復号は基本多言語面上の同一操作です。
どの文字がずれますか?
文字列中のすべてのUTF-16コード単位がBMP(U+0000–U+FFFF)内で0x8000回転します。印字可能だけという部分集合はなく、空白もCJKも動きます。
結果は決定的ですか?
はい。 同じテキストは常に同じ結果を生み、ネットワークも乱数も日付依存の挙動もありません。
Helloが漢字のような文字になるのはなぜですか?
各文字が基本多言語面を半周ずれ、ラテン文字は中国語・日本語・韓国語の漢字の領域に入るためです。見た目は漢字でも意味はなく、もう一度同じ操作をするとHelloに戻ります。
ROT8000とROT13やROT47の違いは何ですか?
ROT13は英字だけ、ROT47は印字可能なASCII文字だけを回します。ROT8000は空白やアクセント付きの文字、ひらがななども含め、基本多言語面のすべての文字を動かすので、多言語のテキストもまとめてかき混ぜられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/rot8000 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/rot8000", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot8000",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot8000", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot8000", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Hello"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot8000",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
CTFのウォームアップ、可逆なUnicode難読化のデモ、演習シートにはブラウザで無料でお使いいただき、CIやバックエンドで再現可能なROT8000変換が必要なパイプラインでは、成功リクエストごとに$0.002のAPIをご利用ください。
ROT8000とは何か、このツールが返すもの
JSON応答には変換後文字列のresult、固定値rot8000のencoding、UTF-16単位で長さを保つため一致するinput_lengthとoutput_length、回転した単位数を数えるshifted_units(有効リクエストでは常に入力長と等しい)、文書化とテスト向けに剰余写像を再掲するformula文字列が含まれます。空でないテキストを渡せば完全な変換を受け取り、さもなければinvalid_inputで失敗します。印字可能ASCIIのみの回転、URL安全なBase64、モールスが必要な場合は専用エンドポイントをご利用ください。このランディングはUnicode暗号の解説や軽量な難読化ガイドがすでに述べる、ROT8000のBMP回転契約だけに答えます。
テキストの読み取り方と結果の再現性
文字列は存在し空であってはなりません。Unicodeスカラー値ではなくコード単位で動かすことで、JavaScript文字列に対のないサロゲートが含まれる場合でも写像は完全な対合のままです。これはUTF-16の境界を意図的に試すフィクスチャで重要です。検証は安価に保たれ、成功した変換は固定の項目価格のままです。優先されるペイロード欄はtextで、別名としてinput、value、s、messageを受け付けるため、フォームやクエリ文字列、SDKクライアントは列名を変えずに同じ契約を再利用できます。欠落フィールド、非文字列型、空文字列はいずれも明確なメッセージ付きのinvalid_inputを上げ、空フォームが成功した何もしない操作に見えないようにします。各UTF-16コード単位は固定の剰余写像で独立に処理されるため、変換を二回適用すると常に元のペイロードが得られます。同じ数学的結果を自動パイプライン内で必要とする場合は、このページの無料ブラウザ実行と有料APIを組み合わせ、半面回転を自前で再実装しないでください。無効入力はinvalid_inputを返し課金されません。長さフィールドとshifted_unitsカウンタは、すべての単位が動き、出力長が入力と一致することを、各アサーションで剰余演算を再導出せずに検証する助けになります。
パズル・デモ・テストフィクスチャでのROT8000の位置づけ
バックエンドサービスは、学習者が同じ半面シフトを適用して次の段階を開くパズルAPIや教材サンドボックス向けに、短い設定断片を符号化します。このページでは処理はすべてブラウザ内で完結し、API経由では成功した照会ごとに$0.002かかり、検証失敗は課金されず、応答後は何も保存されません。無料の対話探索と同一結果の有料APIという分離はKITのtier Aカタログ全体と一致し、教室デモから自動パイプラインへ、変換結果を変えずに移行できます。
連携の活用例
決定的なCIフィクスチャ
ユニットテスト、ゴールデンファイル、サービス間の契約チェック向けに再現可能なROT8000文字列を生成します。
技術的な質問
ROT8000 Unicode暗号の料金は?
このページではブラウザ内で無料です。API経由の成功リクエストは$0.002で、無効入力は課金されません。
空入力ではどうなりますか?
空または欠落したテキストはinvalid_inputで失敗し、課金されません。空でない文字列を指定してください。