擅长:python、mysql、java
<p>你犯了一些错误:</p>
<ol>
<li><code>cipher</code>和<code>keydecrypt</code>不是二进制的,它们是包含0和1个字符的字符串。在</li>
<li>不需要导入<code>xor</code>函数,您已经有了xor运算符<code>^</code></li>
<li>如果string=='',在python中将字符串转换为boolean将得到False,而在其他情况下则为True,这不是您想要的。在</li>
<li>我不明白最后一个<code>for</code>应该做什么。在</li>
</ol>
<p>下面是一个关于如何改进代码的示例:</p>
<pre><code>import itertools
import binascii
encrypted = ''
for m, k in itertools.izip(message, itertools.cycle(key)):
encrypted += chr(ord(m) ^ ord(k))
print binascii.hexlify(encrypted)
</code></pre>
<p>如果<code>key</code>小于<code>message</code>,也可以这样做。在</p>