Python 加密和解密outpus符号
我和一位同事正在尝试制作一个程序,允许我们使用两个单词的字母值对文本进行加密和解密:Python 加密和解密outpus符号,python,algorithm,encryption,cryptography,Python,Algorithm,Encryption,Cryptography,我和一位同事正在尝试制作一个程序,允许我们使用两个单词的字母值对文本进行加密和解密: 关键字(由用户选择) 加密/解密的源字(也由用户选择) 但出于某种原因,当我们运行程序时,我们可以输出加密/解密的答案,但答案是文本: Ƥ˧Щ 这是我们的代码: def encryptfunction(): result = "" addedup = 0 for letter in wordtoencrypt: for letter2 in keyword:
Ƥ˧Щ
这是我们的代码:
def encryptfunction():
result = ""
addedup = 0
for letter in wordtoencrypt:
for letter2 in keyword:
addedup = addedup + ord(letter2)
result = result + chr(ord(letter) + addedup)
return result
def decryptfunction():
result = ""
addedup = 0
for letter in wordtoencrypt:
for letter2 in keyword:
addedup = addedup + ord(letter2)
result = result + chr(ord(letter) - addedup)
return result
wordtoencrypt = input("Enter the word to encrypt:")
keyword = input("Enter the keyword:")
encrypt = int(input("encrypt(1) or decrypt(0)"))
if encrypt == 1:
print(encryptfunction())
else:
print(decryptfunction())
我们不知道为什么会发生这种情况,如果有人能帮助我们解决这个问题,我们将不胜感激。您可以尝试键入addedup和result变量。您可以尝试打印中间值,但似乎字符串和数字在加法中混在一起。ASCII字符集有256个字符。有些是字母,有些是符号。如果您添加两个英文字母的字符代码,您将得到的字符将是一个符号。你期望会发生什么?我如何修复ascii?你所说的“修复ascii”是什么意思?ASCII字符集未断开。您希望得到什么结果?
result=result+chr((ord(字母)+addedup)%256)
保持在ascii字符范围内