【发布时间】:2012-11-02 09:54:32
【问题描述】:
如何应用两个二进制字符串的异或来表示两个字符的 bin?
这是一个代码
def Xor(a,b):
ABytes = a.encode('ascii','strict')
BBytes = b.encode('ascii','strict')
ABinaries = bin(int(binascii.hexlify(ABytes),16))
BBinaries = bin(int(binascii.hexlify(BBytes),16))
#this is what i want to do:
xor = ABinaries ^ BBinaries
return xor
但是由于^ 运算符不对字符串进行操作。代码不起作用,问题是我需要返回异或的二进制值。
如果它有效,我怎样才能得到 xor 的字符串值?
【问题讨论】:
-
如果这是为了分配,我怀疑自己弄清楚如何按位异或是重点。你有没有尝试过?
-
@Blckknght 不,这不是一个任务,首先为了得到 xor,我简单地写了 xor = bin (ord(chr((ord(a) ^ ord(b))))) ,但是当我尝试获取字符串表示时遇到了一些问题,我正在尝试进行 viegner 加密,这是问题的一部分。
-
有什么原因不能对
ints 进行异或运算,然后在结果上调用bin? -
@TomSmilack:是的,我在尝试获取字符串表示时遇到了一些问题,其次我想应用另一个 XOR 以获取原始文本。
标签: python encryption python-3.x binary