日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

python如何实现凯撒密码加密解密

發布時間:2023/12/15 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 python如何实现凯撒密码加密解密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹了python如何實現凱撒密碼加密解密的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python如何實現凱撒密碼加密解密文章都會有所收獲,下面我們一起來看看吧。

凱撒加密就是通過將字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移,被替換成密文。例如,當偏移量是2的時候,所有的字母B將被替換成D,C變成E,以此類推Y將變成A,Z變成B。由此可見,偏移量就是凱撒密碼加密和解密的密鑰。

下面使用python代碼來實現凱瑟密碼的加密解密。

importstring
defkaisa_jiami(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)#創建映射表
returns.translate(table)

defkaisa_jiemi(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(after,before)
returns.translate(table)
defmain():
s=input("請輸入要加密的字符串:")
k=int(input("請輸入一個整數密鑰:"))#將k轉換為整數,默認輸入為字符
print('需要加密的字符串為:',s)
a=kaisa_jiami(s,k)
print("加密后為:",a)
b=kaisa_jiemi(a,k)
print("解密后為:",b)
if__name__=='__main__':
main()

運行結果

請輸入要加密的字符串:HELLO world
請輸入一個整數密鑰:3
需要加密的字符串為: HELLO world
加密后為: KHOOR zruog
解密后為: HELLO world

上述程序中主要用到了maketrans()和translate()兩個方法。下面讓我們來詳細看一下這兩個方法的使用方法。
translate() 方法根據 maketrans() 方法給出的字符映射轉換表轉換字符串中的字符。

比如

importstring
map=''.maketrans('ABC123','abcDEF')#形成一個映射,將ABC123分別映射為abcDEF
s="123ABC"
s.translate(map)#按照map中的映射關系進行字符的替換。

運行結果

'DEFabc'

總結

以上是生活随笔為你收集整理的python如何实现凯撒密码加密解密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。