XOR暗号化を使用するときに特定の文字が空白になる原因は何ですか?さらに、復号化するときにこれをどのように補正できますか?
例えば:
....
void basic_encrypt(char *to_encrypt) {
char c;
while (*to_encrypt) {
*to_encrypt = *to_encrypt ^ 20;
to_encrypt++;
}
}
文字に対して「nothing」を返しk
ます。明らかに、文字の減衰は復号化に問題があります。
これはビット演算子が原因だと思いますが、バイナリはあまり得意ではないので、誰か説明してもらえないかと思いました。
k
この場合、要素をスペースのないASCII文字に変換していますか?これは、y <x <z演算子を選択することで補うことができますか?ここで、xは演算子です。
最後に、それが補償されていない場合、推測とチェック以外に空白を埋めるための現実的な復号化戦略はありますか?