假设我有3个字节,X Y和Z。
X XOR Y导致Z。
我知道X和Z是什么,但我不知道Y是什么,所以我正在编写一个快速的脚本来解决这个问题。
虽然,我不知道我怎么会开始。我手工做了几个,这只是逐个比较每个位的问题,但我怎么能在python中做到这一点?我解决Y的程序似乎不够明确。
因为我只需要实际使用这样的东西,所以写它或者只是使用能为我做这件事的东西就足够了。
答案 0 :(得分:7)
如果x ^ y == z
,则x ^ z == y
。您可以使用
>>> X = range(256) # all byte values
>>> Y = range(256)
>>> all(x ^ z == y for x in X for y in Y for z in [x^y])