Python 3 XOR 字节数组

2024-01-09

python 3中是否有内置函数可以bitwise-xor字节?例如,如果我有 2 个字节数组:

one = oE1ltQSsoEqRC4j1EMz1ORU1dyucIcI4WstKz-uhuKA=
two = Rffs1PW5zA1h5RFVh5MkLw5R7a2QVHY7cwnjuSPktwc=

one XOR two = 5bqJYfEVbEfw7pmgl1_RFhtkmoYMdbQDKcKpdshFD6c=

一般来说,如果你有两个bytes是的,你可以做

one_xor_two = bytes(a ^ b for (a, b) in zip(one, two))

对它们进行元素异或。

在您的情况下,您首先对字符串进行 Base64 解码,然后进行 XOR,然后进行 Base64 编码...但是,示例字符串将无法工作,因为 Python 不喜欢其中的不良填充。

import base64

one = base64.b64decode('oE1ltQSsoEqRC4j1EMz1ORU1dyucIcI4WstKz-uhuKA=')
two = base64.b64decode('Rffs1PW5zA1h5RFVh5MkLw5R7a2QVHY7cwnjuSPktwc=')

one_xor_two = bytes(a ^ b for (a, b) in zip(one, two))

print(base64.b64encode(one_xor_two))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3 XOR 字节数组 的相关文章

随机推荐