把它改成:import base64
data = base64.b64decode("")
key = ""
S = range(256)
j = 0
out = []
#KSA Phase
for i in range(256):
j = (j + S[i] + ord( key[i % len(key)] )) % 256
S[i] , S[j] = S[j] , S[i]
#PRGA Phase
i = j = 0
for char in data:
i = ( i + 1 ) % 256
j = ( j + S[i] ) % 256
S[i] , S[j] = S[j] , S[i]
out.append(chr(ord(char) ^ S[(S[i] + S[j]) % 256]))
print ''.join(out)
不确定这是否有效,因为你没有给我们任何数据。。下一次请发布一个数据示例,您已经尝试过的代码,以及您将遇到的错误。
编辑--使用文件import base64
with open("/path/to/file.txt", "r") as encrypted_file:
data = base64.b64decode(encrypted_file.read())
key = ""
S = range(256)
j = 0
out = []
#KSA Phase
for i in range(256):
j = (j + S[i] + ord( key[i % len(key)] )) % 256
S[i] , S[j] = S[j] , S[i]
#PRGA Phase
i = j = 0
for char in data:
i = ( i + 1 ) % 256
j = ( j + S[i] ) % 256
S[i] , S[j] = S[j] , S[i]
out.append(chr(ord(char) ^ S[(S[i] + S[j]) % 256]))
decrypted_text = ''.join(out)
with open('decrypted.txt', 'w') as decrypted_file:
decrypted_file.write(decrypted_text)