暗号・文字遊び変換機能(/encrypt・/decrypt・/cipher_methods)

文字を62種類の暗号、符号、エンコード、言葉遊びで変換できる機能です。かな一文字送りやポケベル打ちから、古典暗号、モールス信号、Base64、文字装飾まで幅広く選べます。対応する方式は復号もできます。

使い方

操作 コマンド形式
文字を変換 /encrypt method:<方式> text:<文字> key:<任意の鍵>
文字を復号 /decrypt method:<方式> text:<暗号文> key:<暗号化時の鍵>
方式を確認 /cipher_methods category:<任意の分類>

method に文字を入力すると候補を検索できます。利用できる方式は、日本語・言葉遊び、古典暗号、符号・エンコード、文字遊び・装飾、一方向ハッシュの5分類です。

引数

引数 必須 説明
method /encrypt・/decryptで必須 変換方式の名前またはIDです。入力中に候補が表示されます。
text /encrypt・/decryptで必須 変換または復号する文字です。最大1,000文字です。
key 任意 移動数や合言葉など、方式に応じた鍵です。復号時は変換時と同じ値を使います。
category 任意 /cipher_methods で表示する分類です。省略すると分類ごとの件数を表示します。

応答・返り値

  • 選んだ方式名と変換結果を表示します。
  • 結果が長い場合は、テキストファイルで返します。
  • /cipher_methods は方式名、方式ID、鍵の指定、復号可否を表示します。
  • 入力や鍵が正しくない場合は、修正方法を実行者だけに案内します。

必要条件・権限

  • 実行者に特別な権限は必要ありません。
  • Botにはメッセージ送信権限が必要です。
  • 長い結果を受け取るには、Botにファイル添付権限が必要です。

制限・仕様

  • 全62方式を利用できます。
  • kana_shift では あいす が いうせ になります。
  • pokebell では あいす が 111233 になります。
  • ハッシュ、Leet Speak、交互大小文字は復号できません。
  • 方式によっては英字の大文字・小文字が揃ったり、カタカナがひらがなになったりします。
  • 古典暗号、エンコード、文字遊びは、秘密情報の保護には向きません。

日本語・言葉遊び(9方式)

方式ID 説明 変換例 復号
kana_shift 同じ行のかなを母音方向へ送ります。key で送る数を変えられます。 あいす → いうせ 可
gojuon_shift かなを五十音全体の次の文字へ送ります。 あお → いか 可
kana_row_shift あ行→か行→さ行のように、同じ母音のまま行を送ります。 あいす → かきつ 可
iroha_shift いろは順で次の文字へ送ります。 いろは → ろはに 可
kana_atbash 五十音の先頭と末尾を対応させて入れ替えます。 あいす → んをめ 可
dakuten 清音と濁音を入れ替えます。 かさたは → がざだば 可
small_kana 通常のかなと小書きかなを入れ替えます。 つや → っゃ 可
pokebell かなを2桁式のポケベル打ちへ変換します。 あいす → 111233 可
garakei 携帯電話の同じ数字を連打する入力方式へ変換します。 あいす → 1-11-333 可

古典暗号(16方式)

方式ID 説明 変換例 復号
caesar 英字を一定数ずらすシーザー暗号です。既定は3文字です。 COLD → FROG 可
rot13 英字を13文字ずらします。 COLD → PBYQ 可
rot47 英字・数字・記号を含む表示可能文字を47文字ずらします。 ColdBot → r@=5q@E 可
atbash AとZ、BとYのように英字を逆順対応させます。 COLD → XLOW 可
vigenere 英字の鍵を繰り返して文字をずらす暗号です。 HELLO + COLD → JSWOQ 可
beaufort 英字の鍵を使うボーフォート式の暗号です。 HELLO + COLD → VKASO 可
affine 2つの数を鍵にして英字を数式で置換します。 COLD + 5,8 → SALX 可
bacon 英字1文字をAとBの5文字で表します。 ABC → AAAAA AAAAB AAABA 可
rail_fence 文字をジグザグに並べてから行ごとに読みます。 COLDBOT + 3段 → CBODOLT 可
columnar 鍵の文字順に列を並べ替える転置暗号です。 COLDBOT + COLD → CBDLTOO 可
scytale 指定した列数に文字を巻き付けるように並べ替えます。 COLDBOT + 4列 → CBOOLTD 可
polybius 英字を5×5方陣の行番号・列番号で表します。 COLD → 13 34 31 14 可
tap_code 英字を方陣上のタップ回数に相当する数字で表します。 COLD → 13 34 31 14 可
a1z26 Aを1、Bを2、Zを26として表します。 COLD → 3 15 12 4 可
keyboard_shift QWERTY配列で隣のキーへずらします。 COLD → VPAF 可
xor 合言葉を使って文字をXOR変換し、読みやすい文字列で返します。 hello + key → AwAVBwo= 可

符号・エンコード(21方式)

方式ID 説明 変換例 復号
morse 英字・数字を点と線のモールス信号へ変換します。 SOS → ... --- ... 可
emoji_morse モールス信号の点と線を絵文字で表します。 SOS → 🔹🔹🔹 ➖➖➖ 🔹🔹🔹 可
inverse_morse 通常のモールス信号の点と線を反転します。 SOS → --- ... --- 可
nato 英字をNATOフォネティックコードで読み上げる形にします。 COLD → Charlie Oscar Lima Delta 可
braille 英字をUnicodeの点字へ変換します。 cold → ⠉⠕⠇⠙ 可
binary UTF-8の各バイトを8桁の2進数で表します。 A → 01000001 可
hex UTF-8の各バイトを16進数で表します。 あ → e38182 可
octal UTF-8の各バイトを8進数で表します。 A → 101 可
codepoint 各文字を10進数のUnicode番号で表します。 あ → 12354 可
decimal_utf8 UTF-8の各バイトを10進数で表します。 あ → 227 129 130 可
hex_codepoint 各文字を U+ 形式のUnicode番号で表します。 あ → U+3042 可
unicode_escape 各文字をUnicodeエスケープ表記へ変換します。 あ → \u3042 可
base64 文字列をBase64へエンコードします。 cold → Y29sZA== 可
base32 文字列をBase32へエンコードします。 cold → MNXWYZA= 可
base85 文字列をBase85へエンコードします。 cold → V{dF^ 可
ascii85 文字列をAscii85へエンコードします。 cold → @rH0o 可
base58 数字・英字の紛らわしい文字を除いたBase58へ変換します。 cold → 3YRCbu 可
url URL内で扱えるパーセントエンコードへ変換します。 日本語 → %E6%97%A5%E6%9C%AC%E8%AA%9E 可
html < や > などをHTMLエスケープします。 <cold> → &lt;cold&gt; 可
punycode 日本語などをPunycode表現へ変換します。 日本語 → wgv71a119e 可
quoted_printable UTF-8の文字をQuoted-Printable形式へ変換します。 あ → =E3=81=82 可

文字遊び・装飾(11方式)

方式ID 説明 変換例 復号
reverse 文字列全体を後ろから並べます。 cold → dloc 可
reverse_words 空白で区切られた単語の順番を逆にします。 cold bot → bot cold 可
reverse_each_word 単語の並びは保ち、各単語の文字だけ逆にします。 cold bot → dloc tob 可
swap_pairs 1文字目と2文字目、3文字目と4文字目を入れ替えます。 cold → ocdl 可
fullwidth 半角の英数字と記号を全角へ変換します。 COLD → COLD 可
circled 英数字を丸囲み文字へ変換します。 COLD → ⒸⓄⓁⒹ 可
regional 英字を国旗に使われる地域表示記号へ変換します。 COLD → 🇨🇴🇱🇩 可
upside_down 英字を上下逆さに見える文字へ置き換え、並びも逆にします。 cold → ploɔ 可
leetspeak 一部の英字を形の似た数字へ置き換えます。 coldbot → c0ld807 不可
alternating_case 英字の大文字・小文字を交互にします。 coldbot → cOlDbOt 不可
emoji_alphabet 英字を対応する絵文字へ置き換えます。 cold → 😄😴😎😁 可

一方向ハッシュ(5方式)

ハッシュは同じ文字から同じ値を作る一方向変換です。暗号文ではないため、/decrypt で元の文字へ戻すことはできません。

方式ID 説明 cold の変換例 復号
md5 32桁の16進数を返します。 75e52a0ecfafeda17a34fc60111c1f0b 不可
sha1 40桁の16進数を返します。 424fa43965bde21e1a972336f3c3bc0dcaafebf5 不可
sha256 64桁の16進数を返します。 e272deecde720ffc773d7a6a81adabbc366ccbb64da5abdb6b26f52cd3f952cb 不可
sha512 128桁の16進数を返します。 12ce628a0c75a2d6… 不可
blake2b 128桁の16進数を返します。 9c90c69d2cbee92f… 不可

使用例

/encrypt method:kana_shift text:あいす
→ いうせ

/encrypt method:pokebell text:あいす
→ 111233

/decrypt method:pokebell text:111233
→ あいす

/encrypt method:caesar text:ColdBot key:5
→ HtqiGty

/encrypt method:base64 text:こんにちは
→ 44GT44KT44Gr44Gh44Gv

/decrypt method:base64 text:44GT44KT44Gr44Gh44Gv
→ こんにちは

/encrypt method:emoji_alphabet text:cold
→ 😄😴😎😁

/encrypt method:sha256 text:cold
→ e272deecde720ffc773d7a6a81adabbc366ccbb64da5abdb6b26f52cd3f952cb

/cipher_methods category:日本語・言葉遊び

エラー・注意点

  • 復号するときは、変換時と同じ方式を選んでください。
  • 鍵を使った場合は、復号時にも同じ鍵を指定してください。
  • 一方向変換を /decrypt で選ぶと、復号できない旨が表示されます。
  • 方式に合わない文字列や鍵は変換できない場合があります。

コメント

タイトルとURLをコピーしました