我创建了一个非常简单的加密算法,我将单词中的每个字母转换为ascii,将ascii值放入数组中,然后将数字添加到每个值中。然后将ascii转换回字母,然后输出新的加密字。被称为ceaser密码。向数组中的每个元素/整数添加数字
但我不知道如何将键号添加到数组的每个元素。
我创建了一个非常简单的加密算法,我将单词中的每个字母转换为ascii,将ascii值放入数组中,然后将数字添加到每个值中。然后将ascii转换回字母,然后输出新的加密字。被称为ceaser密码。向数组中的每个元素/整数添加数字
但我不知道如何将键号添加到数组的每个元素。
正如其他人会提到的,当提出这样的问题时,请首先发布代码尝试。清晰的输入/输出和任何相关的堆栈跟踪错误可帮助人们更好地回答您的问题。这就是说,我写了一个简单的ceaser cipher加密方法,根据给定的密钥转移到右边。这可以通过使用内置方法ord()
将字符串的字符转换为数字ASCII表示。然后,我们将shift
值添加到该表示中,以将值向右移动一个给定量。然后使用chr()
转换回字符如果shifted_value
超过'z'
的字符,我们会考虑一些换行回字母的开头。
def ceaser_cipher_encryption(string, shift):
alpha_limit = 26
encrypted_msg = []
for index, character in enumerate(string.lower()):
isUpperCharacter = string[index].isupper()
shifted_value = ord(character) + shift
if shifted_value > ord('z'):
encrypted_msg.append(chr(shifted_value - alpha_limit))
else:
encrypted_msg.append(chr(shifted_value))
if isUpperCharacter:
encrypted_msg[index] = encrypted_msg[index].upper()
return ''.join(encrypted_msg)
样本输出:
>>> ceaser_cipher_encryption("HelloWorld", 5)
MjqqtBtwqi
尝试在看看网上的解决方案:
Caesar Cipher Function in Python
https://inventwithpython.com/chapter14.html
这些链接会为您提供清晰的解答您的疑问。
并且这些链接可能会在某个时间被破坏。最好在你的答案中加入相关部分以防止它发生。 –
编辑你的问题,并添加您的尝试,到目前为止,人们这样可以帮助您与您的具体问题。如果出现错误,请添加Python生成的完整追踪。如果没有,请解释你面临的问题是什么,以及你迄今为止尝试解决的问题。 –