私のコードは、このエラーがスローされます。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