关于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)

上一篇 下一篇

猜你喜欢

热点阅读