ベーコン暗号エンコード・デコード
文字を、フランシス・ベーコンのaとbを5つ並べた符号に変えたり、その並びを文字に戻したりします。HIはaabbb abaaaになります。どの組も5記号そろっている必要があり、推測はしません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- HI
- 計算モード
- encode
- 結果
- aabbb abaaa
- エンコーディング
- bacon
- 入力長
- 2
- 出力長
- 11
このベーコン暗号ツールは、平文の文字をフランシス・ベーコンの古典的な5記号a/bアルファベットにエンコードするか、有効なa/bストリームを大文字のテキストにデコードします。AからZまでの各ラテン文字は、aとbのみから構成される固定の5文字符号を1つ持つため、この変換は秘密鍵ではなく単純な可逆テーブルです。エンコードモードは入力を走査してアルファベットの文字だけを保持し、Hをaabbbのようなスペース区切りのグループとして出力します。デコードモードは大文字小文字を問わずaとbを受け付け、一般的な区切り文字を無視し、すべてのグループが完全な5記号の集合である場合にのみメッセージを再構築します。
ベーコン暗号とは何か、そしてこのツールが返す内容
ベーコン暗号(ベーコンの暗号とも呼ばれる)は、メッセージのすべての文字を、通常aとbと表記される2文字のアルファベットから成る5記号の単語に置き換える古典的な二文字置換です。現代の26文字テーブルは、これらの記号をaをゼロ、bを1とする2進数字として扱うため、Aはaaaaa、Bはaaaab、そしてZまでbbaabと続きます。
キーワードストリームも、剰余シフトも、ロケール間でずれる可能性のある任意のアルファベットファイルもありません。
歴史的には、書体や大文字小文字を変えることで通常の文章の中に符号を隠すことを意図していましたが、この製品は素のエンコード・デコードのテーブルのみを公開するため、教師、パズル作成者、テスト作成者はフォントをシミュレートすることなく符号そのものを扱えます。
ストリーミング経路も、モールス信号、Base64、Vigenèreのキーワードへのサイレントなフォールバックもありません。
テキストとモードの読み取り方法と不完全なグループが失敗する仕組み
modeは省略時にencodeが既定となり、encodeにはenc、encrypt、e、decodeにはdec、decrypt、dといった短い別名も受け付けます。それ以外の文字列は検証に失敗します。
エンコードモードでは、アルファベットの文字のみが保持されてマッピングされ、入力時に大文字小文字は区別されず、結果は単一のスペースで区切られた小文字のa/bグループになります。
デコードモードでは、すべてのaとbが連続したストリームに集められ、スペース、タブ、改行、ハイフン、アンダースコア、カンマ、ピリオド、スラッシュ、パイプはグループ間の無害な区切り文字として扱われます。それ以外の文字は即座に拒否されます。クリーニング後、ストリームの長さは5の倍数でなければなりません。
完全な5記号のスライスはそれぞれ、26文字テーブルにも存在しなければなりません。A-Zの符号の範囲外のパターンは、未知のグループとして失敗します。
ベーコン暗号がレッスン・パズル・テストフィクスチャで役立つ場面
開発者や教育者は、キャプチャー・ザ・フラッグのウォームアップ、古典的なステガノグラフィに関する教科書の章、そしてメッセージが5記号ずつ詰められるとき2文字のアルファベットでも完全なラテン文字のテキストを運べることを示す軽量なデモでベーコン暗号に出会います。
フロントエンドチームはエンコードとデコードを並べて表示することで、独自のテーブルを発明することなく、aabbb abaaaがちょうどHIであることを学習者に見せられます。
品質エンジニアは、ベーコン式対応を主張するミドルウェアがモールス信号にサイレントに切り替わったり不完全なグループを落としたりできないよう、契約テストのために決定的なエンコード・デコードのペアを生成します。
コンテストの主催者は、短いグループを詰めたり異なる間隔で大文字のみのa/b出力を強制したりする不透明なウェブおもちゃに頼ることなく、手頃な英語のフレーズについて模範解答をあらかじめ計算します。プロダクトや教育向けのツールは、学習者が二文字式の文字列を貼り付け、UIが文書化されたテーブルの下で復元された文字を表示しなければならないときにこの変換を使います。
このページでの計算はすべてブラウザ内で完結します。無料で決定的なテキストツールの小さなラボを構築する際は他の古典的な符号化ヘルパーと組み合わせ、本物の秘密がかかっている場合はベーコン暗号を現代の認証付き暗号の代用として決して扱わないでください。
活用例
古典暗号とCTFの練習
教室のワークシート、歴史の教材、キャプチャー・ザ・フラッグのウォームアップ向けに、5記号のa/bグループをエンコード・デコードします。
ステガノグラフィのテーブルデモ
ツールにフォントの埋め込みを求めることなく、歴史的に書体にメッセージを隠していた素の二文字式アルファベットを示せます。
よくある質問
ベーコン式のメッセージをどう復号しますか?
a/bの暗号文をtextとして送信し、modeをdecode(またはdec、decrypt、d)に設定してください。modeを省略した場合、既定はエンコードです。グループは間隔を空けてもよく、それぞれ5個のa/b記号でなければなりません。
グループが5記号でない場合はどうなりますか?
区切り文字を取り除いた後、a/bストリームの長さは5の倍数でなければならず、不完全な最後のグループは詰め物をされません。
どの文字がエンコードされますか?
大文字小文字を問わずA-Zのアルファベットの文字のみです。スペース、数字、句読点はエンコード時にスキップされます。デコードはa/b(大文字小文字を問わず)と一般的な区切り文字を受け付けます。
ベーコン暗号は本物の秘密にとって安全ですか?
いいえ。 これは公開された固定テーブルを持つ古典的な教育用暗号です。本物の機密性にはAES-GCMのような現代の認証付き暗号を使ってください。
なぜAはaaaaaで、Zはbbaabなのですか?
表ではaを0、bを1として扱い、各文字の順番を5桁の二進数で書くためです。Aは0番目なのでaaaaa、Bはaaaabとなり、同じようにZはbbaabになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/bacon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HI"}'const res = await fetch("https://api.kit.forhosting.com/enc/bacon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HI"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/bacon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HI"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/bacon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HI"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HI"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/bacon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "HI"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.bacon",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
不完全な最後のグループ、未知の5記号パターン、a・b・区切り文字のいずれでもない文字は、推測するのではなくinvalid_inputで失敗します。暗号史の授業、素のアルファベット対応が必要なステガノグラフィのデモ、可逆パズルのワークシートにはブラウザで無料にご利用いただき、パイプラインが再現可能なベーコン暗号の変換を必要とする場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
ベーコン暗号とは何か、そしてこのツールが返す内容
この固定のマッピングこそ、このエンドポイントが適用するものです。JSONレスポンスには、変換された文字列を表すresult、baconに固定されたencoding、encodeまたはdecodeに設定されたmode、送信・受信した生の文字列に対するinput_lengthとoutput_length、生成または消費されたA-Zの文字数を表すletter_count、文書化や自動チェックのために2進テーブルの規則を再度述べる式の文字列が常に含まれます。選んだモードに対してペイロードが有効であるか、そうでなければinvalid_inputでリクエストが失敗するかのいずれかです。多表式暗号、ROTのバリエーション、現代の認証付き暗号が必要な場合はそれぞれの専用エンドポイントをご利用ください。このランディングページは、暗号史の章がすでに説明している5記号のベーコン式A/B契約のみに答えます。
テキストとモードの読み取り方法と不完全なグループが失敗する仕組み
優先されるペイロードフィールドは、メッセージまたは暗号文を表すtextと、encodeまたはdecodeを表す任意のmodeです。textはinput、value、s、message、plaintext、ciphertextといった別名を受け付けるため、フォームやSDKクライアントは既存のカラム名を再利用できます。フィルタリング後に文字が1つも残らなければ、エンジンは数字のみの文字列が成功した空の暗号のように見えないようinvalid_inputでリクエストを拒否します。1から4記号の余りは、5記号でないグループを意味し、その状態は、ゼロを詰めたり文字を独自に発明したりするのではなく、常に不完全なグループを明示するメッセージとともにinvalid_inputを発生させます。textの欠落、空のtext、文字列以外の型、未知のモードも同様にinvalid_inputを発生させます。自動化されたパイプライン内で同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。無効な入力はinvalid_inputを返し課金されないため、検証は安価なままであり、成功した変換は固定の項目価格のままです。
ベーコン暗号がレッスン・パズル・テストフィクスチャで役立つ場面
バックエンドサービスは、パズルAPIや教育用サンドボックス向けの課題文字列をあらかじめ計算し、そこでは学生が完全な5記号グループを再構築して次のステップを解除しなければなりません。API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、変換された結果を変えることなく移行できます。
連携の活用例
決定的なCIフィクスチャ
ユニットテスト、ゴールデンファイル、契約チェック向けに再現可能なベーコン式の暗号文と平文のペアを生成できます。
技術的な質問
ベーコン暗号ツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。