我的代碼引發此錯誤:如何爲python 3實現RC4加密?
Error :
j = (j + S[i] + k[i % keyLen]) % 256
IndexError: list index out of range
我的代碼:
#!/usr/bin/python3
key = 242
def main():
initializeS(key)
#Key-Scheduling algorithm used to initialize a permutation in array S
#Keylength is the number of bytes in the key it can vary from 0 - 256 bytes
def initializeS(k):
k = str(k).encode('utf-8')
print(k)
keyLen = len(k)
S = []
j = 0
for i in range(0, 256):
j = (j + S[i] + k[i % keyLen]) % 256
S[i], S[j] = S[j], S[i]
return S
main()
提供您的代碼並解釋問題是什麼以及您嘗試了什麼,IOW a [mcve],這意味着樣本輸入和輸出,錯誤和錯誤消息。 – zaph
道歉,我已經添加了代碼。謝謝 – Nick
提示:使用中間變量而不是複合語句,如'(j + S [i] + k [i%keyLen])%256'。這樣你就可以確切地知道是什麼導致了錯誤。 – zaph