1. 程式人生 > >凱撒加密與解密及其python程式碼的實現

凱撒加密與解密及其python程式碼的實現

1.凱撒加密

凱撒加密通過移位的方式加密訊息,最多有25種加密方式(最開始是24種,因為當時的字母一共是25個)
比如明文‘ i love china’移位2位加密後的暗文就是‘k nqxg ejkpc’

2.程式碼的實現

def change(c,i):
    c = c.lower()
    num = ord(c)
    if num >= 97 and num <= 122:
        num = 97 + ((num - 97) + i) % 26
    return chr(num)


def kaisa_jiami(string,i):
string_new = '' for s in string: string_new += change(s,i) print(string_new) return string_new def kaisa_jiemi(string): for i in range(25): print('\n', i, '\n') i += 1 kaisa_jiami(string,i) def main(): print('請選擇需要的操作:') print('1:凱撒加密') print('2:凱撒解密'
) choice = input() if choice == '1': string = input('請輸入需要加密的字串:') num = int(input('請輸入需要偏移的位數:')) kaisa_jiami(string,num) elif choice == '2': string = input('請輸入需要解密的字串:') kaisa_jiemi(string) else: print('輸入錯誤,請重試!') main() if
__name__ == '__main__': main()

3.效果

加密:
加密

解密:
解密

找到正確的明文:
正確答案