python應用 愷撒密碼加密與解密

2021-07-02 10:54:15 字數 1373 閱讀 6129

1.它是一種替換加密的技術,明文中的所有字母都在字母表上向後(或向前)按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b變成e,以此類推。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯絡。

2.ascii表:

2.具體實現:

class caesar:

def __init__(self,a,b):#初始化,接受程式需要的型別

self.pass1=a

self.type1=b

def jiami(self,a):#加密的程式

z=(ord(a)-97+self.pass1)%26+97#用ascii碼值來完成移動

return chr(z)

def jiemi(self,a):#解密的程式

z=(ord(a)-97-self.pass1)%26+97

if z<97:

z=z+26

return chr(z)

def show(self,x):#顯示結果

str=''

if self.type1==0:#加密的時候進入

for i in range (len(x)):

x=x[:i]+self.jiami(x[i])+x[i+1:]

for i in range (len(x)):

str=str+x[i]

print (str)

else:#解密的時候進入

for i in range (len(x)):

x=x[:i]+self.jiemi(x[i])+x[i+1:]

for i in range (len(x)):

str=str+x[i]

print (str)

if __name__=='__main__':#測試程式

a=int(input('please input the pass (小於26!0:結束):'))

while a:

b=int(input('please input the type (0:加密;1:解密:)'))

x=input('please input str:')

user=caesar(a,b)

user.show(x)

a=int(input('please input the pass (小於26!0:結束):'))

3.實驗結果:

python 愷撒密碼的五種方法

a a b c d e f g h i j k l m n o p q r s t u v w x y z a input for i in a if i in a b a ord i ord a 3 26 elif i.upper in a b a ord i ord a 3 26 lower e...

莫斯密碼加密與解密 python加密篇

莫爾斯碼 morse code 最早用於電報通訊,因此一般稱為莫爾斯電碼。這是一種時通時斷的訊號 通過不同的排列順序來表達不同的英文本母 數字和標點符號等。莫爾斯碼由兩種基本訊號組成 短促的點訊號 讀 滴 和保持一定時間的長號 讀 嗒 下圖是莫爾斯電碼表的字母部分,各個英文本母以不同的點dot 和划...

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

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