欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現(xiàn)凱撒密碼加密解密的示例代碼

 更新時間:2022年06月12日 15:23:11   作者:半夏微光1117  
本文主要介紹了python實現(xiàn)凱撒密碼加密解密的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

下面使用python代碼來實現(xiàn)凱瑟密碼的加密解密。

import string
def kaisa_jiami(s,k):
? ? lower=string.ascii_lowercase#小寫英文字母
? ? upper=string.ascii_uppercase#大寫英文字母
? ? before=string.ascii_letters#全部英文字母字母
? ? after=lower[k:]+lower[:k]+upper[k:]+upper[:k]#建立循環(huán)字母
? ? table=''.maketrans(before,after)#創(chuàng)建映射表
? ? return s.translate(table)

def kaisa_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)
? ? return s.translate(table)
def main():
? ? s=input("請輸入要加密的字符串:")
? ? k=int(input("請輸入一個整數(shù)密鑰:"))#將k轉換為整數(shù),默認輸入為字符
? ? print('需要加密的字符串為:',s)
? ? a=kaisa_jiami(s,k) ?
? ? print("加密后為:",a) ?
? ? b= kaisa_jiemi(a,k)
? ? print("解密后為:",b)
if __name__=='__main__':
? ? main()

運行結果

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

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

比如

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

 運行結果

'DEFabc'

到此這篇關于python實現(xiàn)凱撒密碼加密解密的示例代碼的文章就介紹到這了,更多相關python 凱撒密碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python list轉矩陣的實例講解

    python list轉矩陣的實例講解

    今天小編就為大家分享一篇python list轉矩陣的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • django實現(xiàn)支付寶支付實例講解

    django實現(xiàn)支付寶支付實例講解

    在本篇文章里小編給大家整理的是一篇關于django支付寶支付的代碼實例內容,需要的朋友們可以學習下。
    2019-10-10
  • Python發(fā)送email的3種方法

    Python發(fā)送email的3種方法

    這篇文章主要介紹了Python發(fā)送email的3種方法,本文講解了使用登錄郵件服務器方法、調用sendmail命令、使用smtp服務來發(fā)送三種方法,需要的朋友可以參考下
    2015-04-04
  • 使用python實現(xiàn)兩數(shù)之和的畫解算法

    使用python實現(xiàn)兩數(shù)之和的畫解算法

    這篇文章主要介紹了使用python實現(xiàn)兩數(shù)之和的畫解算法,采用實例問題的描述來進行問題分析,并給出用暴力求解和哈希表兩種方法解決方案,有需要的朋友可以參考下
    2021-08-08
  • python3?chromedrivers簽到的簡單實現(xiàn)

    python3?chromedrivers簽到的簡單實現(xiàn)

    本文主要介紹了python3?chromedrivers簽到的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python中用ggplot繪制畫圖實例講解

    python中用ggplot繪制畫圖實例講解

    在本篇文章里小編給大家整理的是一篇關于python中用ggplot繪制畫圖實例講解內容,有興趣的朋友們可以學習參考下。
    2021-01-01
  • python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素)

    python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素)

    這篇文章主要介紹了python實現(xiàn)mask矩陣示例(根據(jù)列表所給元素),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Pytorch可視化(顯示圖片)及格式轉換問題

    Pytorch可視化(顯示圖片)及格式轉換問題

    這篇文章主要介紹了Pytorch可視化(顯示圖片)及格式轉換問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python編寫暴力破解zip文檔程序的實例講解

    python編寫暴力破解zip文檔程序的實例講解

    下面小編就為大家分享一篇python編寫暴力破解zip文檔程序的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 淺談python中的__init__、__new__和__call__方法

    淺談python中的__init__、__new__和__call__方法

    這篇文章主要給大家介紹了關于python中__init__、__new__和__call__方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友可以參考學習,下面來跟著小編一起看看吧。
    2017-07-07

最新評論