Skip to main content
 首页 » 编程设计

python之将 XOR 更改为 XNOR

2025年05月04日19sxdcgaq8080

我正在处理一个 key 未知的 XNOR 加密文件。我想修改此处可用的 xortool:https://github.com/hellman/xortool用于 XNOR 加密。

显然,只有两行使用了“^”运算符。所以我尝试使用 ~ 运算符将它们更改为 xnor。但是我无法获得所需的输出。我怎样才能做到这一点?

编辑:代码仅在 xortool.py 的第 248 行中使用“^”运算符

key_possible_bytes[offset] += chr(ord(char) ^ most_char) 

在 routine.py 的第 75 行

 ret[index] = (chr(ord(char) ^ ord(key[index % len(key)]))) 

所以我在它们之前添加了一个 ~ 运算符。

请您参考如下方法:

用 ~(a ^ b) 替换 a ^ b 的所有实例,将 XOR 操作更改为 XNOR 操作。请务必在正确的位置插入 not 运算符,以确保发生正确的操作顺序!

使用您的特定代码示例:

key_possible_bytes[offset] += chr(~(ord(char) ^ most_char))

ret[index] = (chr(~(ord(char) ^ ord(key[index % len(key)]))))