您好,我有一个准备在学校GCSE级别上使用的加密程序,我需要帮助,因为我现在不知道它到底出了什么问题,我希望最终的数字弹出而不是一个加密的脚本,但是我得到了一个字符串索引错误我该如何解决?
# This asks a user for an input of text integers etc
text = input('Enter A Word : ')
# Empty Value used to store the encrypted value
encrypt = ''
# Empty temp value replaced at every iteration of the wencryption process
temp = ''
# Empty temp value replaced at every iteration of the wencryption process
temp2 = ''
# key used to shift the letters
key = int(input('Enter your key (their will be more encryption) : '))
for i in range(0,len(text)):
# Rearranges text in a caps switch
if str.islower(text[i]):
temp += str.upper(text[i])
elif str.isupper(text[i]):
temp += str.lower(text[i])
else:
temp += text[i]
for j in range(0, len(temp)):
temp = str(ord(temp[j]))
temp2 += temp + str(key)
encrypt += temp2
print(encrypt)
答案 0 :(得分:1)
感谢大家的支持;我想出了解决该加密算法的方法。答案将在下面发布(PS显然可以使用)。 该Python脚本使用for和range函数将字符串分成每个单独的字符,以便可以重新排列。
首先,我执行一个简单的cAPS开关(在此期间没有必要),因此可以使我的加密器安全。然后,我使用ord函数将每个字符转换为等效的ascii,然后使用简单的密码技术,并要求一个简单的整数键(例如3 [Caesar]或13 [ROT13])。然后添加ascii值和密钥,以便ascii值相应地更改。
然后,我们使用chr函数将ascii数字转换为字符,该函数用于将ascii值转换为chr。完成此操作后,我们将使用串联将每个字母连接到最终变量,以便稍后在您的屏幕上显示!
enter code here
text = input('Enter A Word : ') ##This asks a user for an input of text integers etc
encrypt = '' ##Empty Value used to store the encrypted value
temp = '' ##Empty temp value replaced at every iteration of the encryption process
temp2 =0 ##Empty temp value replaced at every iteration of the encryption process
temp_val=0
temp_char=''
key=int(input('Enter your key (their will be more encryption) : '))##key used to shift the letters
for i in range(0,len(text)):
##Rearranges text in a caps switch
if str.islower(text[i])==True:
temp=temp+str.upper(text[i])
elif str.isupper(text[i])==True:
temp=temp+str.lower(text[i])
else:
temp=temp+text[i]
for j in range(0,len(temp)):
temp_val=0
temp2=0
temp_val=ord(temp[j])
temp2=temp2+temp_val+key
temp_char=temp_char+chr(temp2)
encrypt=temp_char
print(encrypt)
print(temp)
print(temp2)
答案 1 :(得分:0)
我不太了解temp=str(ord(temp[i]))
应该发生什么。
此代码生成一个数字:
text = input('Enter A Word : ') ##This asks a user for an input of text integers etc
encrypt = '' ##Empty Value used to store the encrypted value
temp = '' ##Empty temp value replaced at every iteration of the wencryption process
temp2 = '' ##Empty temp value replaced at every iteration of the wencryption process
key=int(input('Enter your key (their will be more encryption) : '))##key used to shift the letters
for i in range(0,len(text)):
##Rearranges text in a caps switch
if str.islower(text[i])==True:
temp=temp+str.upper(text[i])
elif str.isupper(text[i])==True:
temp=temp+str.lower(text[i])
else:
temp=temp+text[i]
for j in temp:
temp=str(ord(j))
temp2=temp2+temp+str(key)
encrypt=encrypt+temp2
print(encrypt)