1.密码学课代码实现
英文加密
def my_encode_2_english(plaintext,key):encode_string = ''move_numbers = [ord(e)-97 for e in key]print(move_numbers)t = -1for chr_ in plaintext:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii + move_numberif move > 122:move = 97+(move-123) encode_string += chr(move)return encode_stringdef my_decode_2_english(clipher,key):decode_string = ''move_numbers = [ord(e)-97 for e in key]t = -1for chr_ in clipher:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii - move_numberif move < 97:move = 123 -(97 - (string_to_asscii-move_number) )decode_string += chr(move)return decode_stringkey = 'yes'
string = """hello"""
encoding2 = my_encode_2_english(string,key)
decoding2 = my_decode_2_english(encoding2,key)
encoding2,decoding2
中文加密
def my_encode_2(plaintext,key):encode_string = ''move_numbers = [ord(e)-96 for e in key]t = -1for chr_ in plaintext:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii + move_numberencode_string += chr(move)return encode_stringdef my_decode_2(clipher,key):decode_string = ''move_numbers = [ord(e)-96 for e in key]t = -1for chr_ in clipher:t += 1string_to_asscii = ord(chr_)move_index =t%3move_number = move_numbers[move_index]move = string_to_asscii - move_numberdecode_string += chr(move)return decode_stringkey = 'yes'
string = """english"""
encoding2 = my_encode_2(string,key)
decoding2 = my_decode_2(encoding2,key)
encoding2,decoding2