2016-12-30 16 views
1

私は単語の各文字をasciiに変換し、asciiの値を配列に入れて、各値に数値を追加する非常に単純な暗号化アルゴリズムを作成しています。 asciiを文字に戻して変換し、新しい暗号化された単語を出力します。秘密の暗号として知られています。配列内の各要素/整数に数値を加える

しかし、配列の各要素にキー番号を追加する方法がわかりません。

+1

編集あなたの質問や、これまでのところ、人々があなたの特定の問題のお手伝いをすることができ、そのように、あなたの試みを追加します。エラーがある場合、Pythonが生成する完全なトレースバックを追加します。そうでない場合は、あなたが直面している問題が何であるか、そしてこれまでに取り組んできたことを説明してください。 –

答えて

0

他にも、このような質問をするときは、まずコードを投稿してください。明確な入出力とそれに関連するスタックトレースエラーがあれば、人々はあなたの質問によく答えることができます。

私はシマーの暗号化方式を書いていますが、これは特定の鍵に基づいて右にシフトします。これは、組み込みのメソッド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 
0

は、ソリューションのためのオンラインを見て持ってみてください。

Caesar Cipher Function in Python

https://inventwithpython.com/chapter14.html

これらのリンクは、あなたの質問に明確な答えを提供します。

+0

これらのリンクはいつか腐っているかもしれません。それに対抗するためには、答えに関連する部分を含めることが最善です。 –

関連する問題