python 實現凱撒加密

2021-09-21 14:32:26 字數 796 閱讀 1197

凱撒密碼(caesar)基本原理

字母表一共有26個英文本母,加密時,我們需要將某個明文本母做n位偏移得到密文,這個n最多為26,而且偏移為26時和偏移為0時一樣,明文和密文對應相等,實際上可以說最大的偏移量為25,這裡的偏移量是這個加密解密演算法的核心,我們可以說他就是秘鑰。

公式:加密公式: f(a)=(a+n) mod 26

解密公式: f(a)=(a+26-n) mod 26

n為偏移量

用python實現凱撒加密是非常方便的,**如下:

import string

def kaisa(s, k): #定義函式 接受乙個字串s 和 乙個偏移量k

lower = string.ascii_lowercase #小寫字母

upper = string.ascii_uppercase #大寫字母

before = string.ascii_letters #無偏移的字母順序 小寫+大寫

after = lower[k:] + lower[:k] + upper[k:] + upper[:k]#偏移後的字母順序 還是小寫+大寫

#分別把小寫字母和大寫字母偏移後再加到一起

table = ''.maketrans(before, after) #建立對映表

return s.translate(table) #對s進行偏移 即加密

s = input('請輸入乙個字串:')

k = int(input('請輸入乙個整數金鑰:'))

print(kaisa(s, k))

python3實現凱撒加密

愷撒密碼是一種替換加密方式技術。它的加密原理是明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。根據偏移量的不同,還存在若干特定的愷撒密碼名稱 例如,當偏移量是左移3的時候 解密時的金鑰就是3 明文本母表 abcdefghijklmnopqrstuvwxyz 密文字母...

python中凱撒密碼加密 凱撒密碼加密

您似乎是在互動式提示中輸入此 而不是將其儲存為檔案並執行它。如果是這樣,那麼當您使用input時,視窗將在允許您繼續輸入 之前提示您輸入。在plaintext input python 輸入此行後,鍵入要加密的單詞,然後按enter鍵。只有這樣你才能寫下這行 在開始下一行code 之前,您應該輸入所...

凱撒加密演算法的python實現

愷撒密碼 英語 caesar cipher 是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。愷撒密碼的加密 解密方法還能夠通過同餘的數學方法進行計算。首先將字母用數字代替,a 0,b 1,z 25。此時偏移...