1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| def get_str(str): print("please input plaintext:") chars = input() for char in chars: str.append(char)
def get_secret_key(ints): print("please input secret key:") keys = input() for key in keys: int = ord(key) - 97 ints.append(int)
def encryption(str, ints, en_str): ints_length = len(ints) str_length = len(str) a = int(str_length / ints_length) for j in range(0, a): for i in range(ints_length): temp_ascii = ord(str[i + j*(ints_length)]) temp_int = (temp_ascii + ints[i] - 97)%26 temp_char = chr(temp_int+65) en_str.append(temp_char) b=str_length-ints_length*a for i in range(0,b): temp_ascii = ord(str[ints_length*a+i]) temp_int = (temp_ascii + ints[i] - 97) % 26 temp_char = chr(temp_int + 65) en_str.append(temp_char) for element in en_str: print(element, end=' ')
if __name__ == '__main__': str = [] ints = [] en_str = [] get_str(str) get_secret_key(ints) encryption(str, ints, en_str)
|