凱撒密碼作為一種最為古老的對稱加密體制,在古羅馬的時候都已經很流行,他的基本思想是:通過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向後(或向前)按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b變成e,以此類推x將變成a,y變成b,z變成c。由此可見,位數就是凱撒密碼加密和解密的金鑰。**塊語法遵循標準python3:let k, x, y ε
• encryption: y = ek(x) ≡ x + k mod 26
• decryption: x = dk(x) ≡ y - k mod 26
@[email protected]
'''en_decrypt.py'''
#把加密明文全部轉化為小寫
deftoalpha
(c,i):
c = c.lower()
num = ord(c)
if num >= 97
and num <= 122:
num = 97 + ((num - 97) + i) % 26
return chr(num)
#string 明文 i 移位引數
defencrypt
(string,i):
string_new = ''
for s in string:
string_new += str(toalpha(s,i))
print(string_new)
return string_new
#string 密文 i 移位引數
defdecrypt
(string,i):
encrypt(string,-i)
'''main.py'''
from en_decrypt import *
defmain
(): test = input("請輸入明文:")
num = input("請輸入移位個數:")
num = int(num)
encode = encrypt(test,num)
decrypt(encode,num)
if __name__ == "__main__":
for i in range(3):
main()
請輸入明文:pythonprocess finished with exit code 0請輸入移位個數:12
bkftaz
python
請輸入明文:hello world
請輸入移位個數:8
pmttw ewztl
hello world
請輸入明文:life is short,you need python
請輸入移位個數:24
jgdc gq qfmpr,wms lccb nwrfml
life is short,you need python
python實現凱撒密碼
在密碼學中,凱撒密碼 或稱愷撒加密 愷撒變換 變換加密 是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯絡。愷撒密碼通常被作為其他更複雜的加密方法中的乙個步驟,例如維吉尼亞密碼。愷撒密碼還在現代的rot13系統中被應用。...
古典密碼 python實現凱撒密碼
def secret str input 請輸入明文 k int input 請輸入移位 str list list str i 0 for i in range len str list if 96 ord str list i 123 str list i chr ord str list i ...
python中凱撒密碼加密 凱撒密碼加密
您似乎是在互動式提示中輸入此 而不是將其儲存為檔案並執行它。如果是這樣,那麼當您使用input時,視窗將在允許您繼續輸入 之前提示您輸入。在plaintext input python 輸入此行後,鍵入要加密的單詞,然後按enter鍵。只有這樣你才能寫下這行 在開始下一行code 之前,您應該輸入所...