擅长:python、mysql、java
<p>发生这种情况是因为密钥文件较长,如您所说,并且您正在针对密钥文件中的每个字节循环:</p>
<pre><code>for i in range(len(a1)):
a1[i] ^= a2[i]
</code></pre>
<p>一旦<code>i</code>等于<code>len(a2)</code>,当您试图获取<code>a2[i]</code>时,您将得到这个异常,因为<code>i</code>超出了数组的边界。在</p>
<p>根据您的问题,不清楚正确的解决方案是什么,但如果您知道数据总是小于键,请使用数据的长度来代替:</p>
^{pr2}$
<p>如果您的目标是在数据大于键的情况下重复键,那么解决方案将涉及更多内容。在</p>