关于C语言中的异或之后的逆向
2020-06-10 本文已影响0人
三毛中队长
需求:扫描二维码之后得到一串base64的字符串,由这串二维码进行逆向得到原始数据。在逆向的过程中其中有一个是异或操作,总结如下
a ^ b = c;
现在已知 b 跟 c 需要得到原始数据a
笨方法是,拿c出来进行逐个bit进行判断,为1->则对b的该bit进行取反得到a的该bit,为0->则对b的该bit直接赋值给a的该bit。
后面求助大神得到简单的答案为: a = (~c & b) | (c & ~b)