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

Python密碼學Caesar?Cipher凱撒密碼算法教程

 更新時間:2022年05月23日 16:20:03   作者:菜鳥教程  
這篇文章主要為大家介紹了Python密碼學Caesar?Cipher凱撒密碼算法教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

在最后一章中,我們處理了反向密碼.本章詳細討論了凱撒密碼.

凱撒密碼算法

凱撒密碼的算法具有以下特征;

  • Caesar Cipher Technique是一種簡單易用的加密技術方法.
  • 這是一種簡單的替換密碼類型.
  • 每個純文本字母都被一個字母替換,字母的位數(shù)固定不變./p>

下圖描繪了Caesar密碼算法實現(xiàn)的工作原理 :

Caesar密碼算法的程序實現(xiàn)如下 :

def?encrypt(text,s):
result?=?""
???#?transverse?the?plain?text
???for?i?in?range(len(text)):
??????char?=?text[i]
??????#?Encrypt?uppercase?characters?in?plain?text
??????if?(char.isupper()):
?????????result?+=?chr((ord(char)?+?s-65)?%?26?+?65)
??????#?Encrypt?lowercase?characters?in?plain?text
??????else:
?????????result?+=?chr((ord(char)?+?s?-?97)?%?26?+?97)
??????return?result
#check?the?above?function
text?=?"CEASER?CIPHER?DEMO"
s?=?4
print?"Plain?Text?:?"?+?text
print?"Shift?pattern?:?"?+?str(s)
print?"Cipher:?"?+?encrypt(text,s)

輸出

你可以看到凱撒密碼,即輸出如下圖所示 :

說明

  • 一次遍歷一個純文本字符.
  • 對于給定純文本中的每個字符,根據(jù)規(guī)則轉換給定字符,具體取決于加密過程文本的說明和解密.
  • 遵循這些步驟后,會生成一個新的字符串,稱為密文.

凱撒密碼算法的黑客攻擊

密碼文本可以被各種可能性攻擊.其中一種可能性是暴力技術,其中涉及嘗試每個可能的解密密鑰.這種技術不需要太多努力,對于黑客來說相對簡單.

黑客攻擊凱撒密碼算法的程序實現(xiàn)如下

message?=?'GIEWIVrGMTLIVrHIQS'?#encrypted?message
LETTERS?=?'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for?key?in?range(len(LETTERS)):
???translated?=?''
???for?symbol?in?message:
??????if?symbol?in?LETTERS:
?????????num?=?LETTERS.find(symbol)
?????????num?=?num?-?key
?????????if?num?<?0:
????????????num?=?num?+?len(LETTERS)
?????????translated?=?translated?+?LETTERS[num]
??????else:
?????????translated?=?translated?+?symbol
print('Hacking?key?#%s:?%s'?%?(key,?translated))

考慮上一個示例中加密的密文.然后,使用密鑰和使用暴力攻擊技術的可能的黑客攻擊方法的輸出如下 :

以上就是Python密碼學Caesar Cipher凱撒密碼算法教程的詳細內容,更多關于Python密碼學Caesar Cipher的資料請關注腳本之家其它相關文章!

相關文章

  • python簡單實現(xiàn)圖片文字分割

    python簡單實現(xiàn)圖片文字分割

    這篇文章主要為大家詳細介紹了python簡單實現(xiàn)圖片文字分割,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python實現(xiàn)文件批量重命名

    python實現(xiàn)文件批量重命名

    這篇文章主要為大家詳細介紹了python實現(xiàn)文件批量重命名,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • pandas 實現(xiàn)某一列分組,其他列合并成list

    pandas 實現(xiàn)某一列分組,其他列合并成list

    這篇文章主要介紹了pandas 實現(xiàn)某一列分組,其他列合并成list的案例。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中reduce()函數(shù)的語法參數(shù)與作用詳解

    Python中reduce()函數(shù)的語法參數(shù)與作用詳解

    這篇文章主要介紹了Python中reduce()函數(shù)的語法參數(shù)與作用詳解,reduce函數(shù)是通過函數(shù)對迭代器對象中的元素進行遍歷操作,Python3.x中reduce函數(shù)已經從內置函數(shù)中取消了,轉而放在functools模塊中,需要的朋友可以參考下
    2023-08-08
  • python實現(xiàn)馬丁策略回測3000只股票的實例代碼

    python實現(xiàn)馬丁策略回測3000只股票的實例代碼

    這篇文章主要介紹了python實現(xiàn)馬丁策略回測3000只股票,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 深入理解numpy廣播機制

    深入理解numpy廣播機制

    廣播(Broadcast)是 numpy 對不同形狀(shape)的數(shù)組進行數(shù)值計算的方式,本文深入理解numpy廣播機制,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Python PIL庫讀取設置圖像的像素內容方法示例

    Python PIL庫讀取設置圖像的像素內容方法示例

    這篇文章主要為大家介紹了使用Python PIL庫Image模塊中的getpixel和putpixel方法讀取設置圖像的像素內容實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 讓 python 命令行也可以自動補全

    讓 python 命令行也可以自動補全

    這篇文章主要介紹了讓 python 命令行也自動補全,需要的朋友可以參考下
    2014-11-11
  • flask/django 動態(tài)查詢表結構相同表名不同數(shù)據(jù)的Model實現(xiàn)方法

    flask/django 動態(tài)查詢表結構相同表名不同數(shù)據(jù)的Model實現(xiàn)方法

    今天小編就為大家分享一篇flask/django 動態(tài)查詢表結構相同表名不同數(shù)據(jù)的Model實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python包argparse模塊常用方法

    Python包argparse模塊常用方法

    argparse是python用于解析命令行參數(shù)和選項的標準模塊。argparse模塊的作用是用于解析命令行參數(shù),通過實例代碼講解argparse的基本使用方法,感興趣的朋友跟隨小編一起看看吧
    2021-06-06

最新評論