这是我提出的一个简单的加密代码。它使用单个字符键。
ar = input('please input string to be de/encrypted:')
key = input('please input single character key:')
def encrypt1(key,ar):
i = 0
while i < len(ar):
br = chr(ord(ar[i])^ord(key))
i = i+1
print(br)
encrypt1(key,ar)
print('Input string = ' + ar+'\n'+'key = '+key)
如果我为要加密的字符串输入“CMPUT”而输入“a”作为键,我将获得此打印输出:
"
,
1
4
5
哪个是正确的加密(根据我的作业示例)。现在我只需要将这些输出转换为单个字符串并将其打印在shell中,如下所示:
>>>decrypted string: ",145
我在这个网站上浏览了谷歌和旧问题,但我仍然空洞。我很感激你的帮助。
答案 0 :(得分:0)
初学者最明显的方式就是简单地累积到一个字符串
def encrypt1(key,ar):
i = 0
result = ""
while i < len(ar):
br = chr(ord(ar[i])^ord(key))
i = i+1
result += br
return result
通常你只需使用生成器表达式
来编写它def encrypt1(key,ar):
return ''.join(chr(ord(i) ^ ord(key)) for i in ar)
答案 1 :(得分:0)
查看此代码,我相信这就是您所需要的(我更改了print(br)
行):
ar = input('please input string to be de/encrypted:')
key = input('please input single character key:')
def encrypt1(key,ar):
i = 0
while i < len(ar):
br = chr(ord(ar[i])^ord(key))
i = i+1
print(br, end='')
encrypt1(key,ar)
print('\nInput string = ' + ar+'\n'+'key = '+key)