XOR計算
HexまたはUTF-8のデータと既知の鍵でXOR計算。バイト列と文字列を確認できるデータ表現の学習用ツールです。
変換ワークスペース
鍵のバイト列を繰り返してXORします。空の鍵は使えません。
入力・鍵・出力は送信・保存されません。再読み込みで消えます。
変換例と仕組み
XORは2つのビットが異なるときに1になる演算です。このツールは指定した鍵のバイト列を繰り返して入力とXORします。同じ鍵で再計算すると元のバイト列に戻ります。
データ:Hex・鍵:Hex 01
- 入力
- 40 43 42
- 出力
- ABC
データ:UTF-8・鍵:Hex 01
- 入力
- ABC
- 出力
- @CB
データと鍵の形式を別々に選びます。Hexの鍵「01」は1バイト、UTF-8の鍵「01」は文字2バイトで、結果が異なります。未知の鍵の自動推定は行いません。鍵は1〜1024バイトです。
使い方
- 1
データと鍵の形式を選ぶ
データと鍵それぞれについて、HexかUTF-8かを選びます。
- 2
既知の鍵とデータを入力する
1〜1024バイトの鍵とデータを入力し、「変換する」を押します。鍵は先頭から繰り返されます。
- 3
文字列とHexを確認する
演算後の文字列とHexを確認します。文字として読めない出力もバイト列として確認できます。
このツールの特長
- データと鍵にHex・UTF-8を指定
- 1〜1024バイトの繰り返し鍵
- 演算結果を文字列とHexで表示
こんな場面で便利
データ表現の学習
自作の例題を変換し、データの表し方を学ぶ。
詳しい説明
入力はUTF-8換算で最大1 MiBです。入力と出力はこのページ内で処理され、サーバーへ送信・保存されません。再読み込みすると消えます。
鍵も送信・保存されません。入力と鍵の先頭を揃えて、鍵のバイト列を繰り返し適用します。
よくある質問
XORを元に戻すには?
同じ鍵を同じ開始位置で、結果のバイト列へもう一度XORします。鍵の形式と繰り返し方法も合わせてください。
鍵が分からなくても復号できますか?
このツールは既知の鍵での計算に対応しています。鍵の自動推定や総当たりは行いません。
Hexの01と文字列の01は同じ鍵ですか?
違います。Hexの01は1バイトですが、UTF-8の文字列01は30 31の2バイトです。
関連ツール
すべての処理はブラウザ内で実行されます。ファイルがアップロードされることはありません。
今日の豆知識
同じ鍵でXORを2回行うと元のバイトに戻ります。a XOR k XOR k = aという性質を確かめられます。