我創建了一個非常簡單的加密算法,我將單詞中的每個字母轉換爲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生成的完整追蹤。如果沒有,請解釋你面臨的問題是什麼,以及你迄今爲止嘗試解決的問題。 –