Python密碼學(xué)ROT13算法教程
到目前為止,您已經(jīng)了解了反向密碼和Caesar密碼算法.現(xiàn)在,讓我們討論一下ROT13算法及其實現(xiàn).
ROT13算法的解釋
ROT13密碼是指縮寫形式旋轉(zhuǎn)方式13個地方.這是Caesar Cipher的一個特例,其中shift始終為13.每個字母移動13個位置以加密或解密消息.
示例
下圖以圖形方式解釋了ROT13算法過程 :

程序代碼
ROT13算法的程序?qū)崿F(xiàn)如下
from?string?import?maketrans
rot13trans?=?maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',?
???'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')
#?Function?to?translate?plain?text
def?rot13(text):
???return?text.translate(rot13trans)
def?main():
???txt?=?"ROT13?Algorithm"
???print?rot13(txt)
if?__name__?==?"__main__":
???main()你可以看到ROT13輸出為sho wn在下圖中 :

缺點
ROT13算法使用13個班次.因此,很容易以相反的方式移動字符來解密密文.
ROT13算法的分析
ROT13密碼算法是被視為Caesar Cipher的特例.它不是一個非常安全的算法,可以通過頻率分析或只是嘗試可能的25個鍵輕松打破而ROT13可以通過移動13個位置來打破.因此,它不包括任何實際用途.
以上就是Python密碼學(xué)ROT13算法教程的詳細內(nèi)容,更多關(guān)于Python密碼學(xué)ROT13算法的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
將 Ubuntu 16 和 18 上的 python 升級到最新 python3.8 的方法教程
這篇文章主要介紹了如何將 Ubuntu 16 和 18 上的 python 升級到最新 3.8 版,本文通過實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解
今天小編就為大家分享一篇關(guān)于Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01
python庫patchworklib多圖表整合用法示例探究
這篇文章主要介紹了python庫patchworklib對齊matplotlib圖表,將多個圖表的整合為單一圖表用法示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
如何使用Django Admin管理后臺導(dǎo)入CSV
這篇文章主要介紹了如何使用Django Admin管理后臺導(dǎo)入CSV,幫助大家更好的理解和使用django框架,感興趣的朋友可以了解下2020-11-11
Python Socket編程實現(xiàn)猜數(shù)字游戲交互體驗
當(dāng)利用Python的Socket編程創(chuàng)建一個猜數(shù)字游戲時,需要分別實現(xiàn)服務(wù)器端和客戶端的邏輯,本文將詳細描述這兩個部分的功能和代碼片段2024-01-01

