凱撒加密與解密及其python程式碼的實現
阿新 • • 發佈:2019-01-02
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.效果
加密:
解密:
找到正確的明文: