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

python密碼學(xué)一次性密碼的實(shí)現(xiàn)

 更新時(shí)間:2022年05月24日 11:46:22   作者:菜鳥教程  
這篇文章主要為大家介紹了python密碼學(xué)一次性密碼的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一次性密碼密碼

一次性密碼密碼是一種Vignere密碼,包括以下功能;

  • 這是一個(gè)牢不可破的密碼.
  • 密鑰與加密郵件的長度完全相同.
  • 密鑰由隨機(jī)符號組成.
  • 顧名思義,密鑰僅使用一次,并且從不再用于任何其他消息加密.

由于這個(gè)原因,加密郵件很容易受到密碼分析者的攻擊.用于一次性密碼密碼的密鑰稱為 pad ,因?yàn)樗蛴≡诩垑|上.

為什么它是堅(jiān)不可摧的?

由于以下功能,密鑰是牢不可破的;

  • 密鑰只要是給定的消息.
  • 密鑰是真正隨機(jī)的,特別是自動(dòng)生成的.
  • 按模10/26/2計(jì)算的密鑰和純文本.
  • 每個(gè)密鑰應(yīng)使用一次,并由發(fā)送方和接收方銷毀.
  • 應(yīng)該有兩個(gè)密鑰副本:一個(gè)帶發(fā)件人,另一個(gè)帶接收者.

加密

要加密字母,用戶需要在明文下面寫一個(gè)密鑰.明文字母位于頂部,密鑰字母位于左側(cè).兩個(gè)字母之間的橫截面是純文本.它在下面的示例中描述 :

解密

要解密一封信,用戶會(huì)取左邊的關(guān)鍵字母,并在該行中找到密文字母.純文本字母位于列的頂部,用戶可以在其中找到密文字母.

一次性密碼密碼的實(shí)現(xiàn)

Python包含一個(gè)用于 one-time-pad 密碼實(shí)現(xiàn)的hacky實(shí)現(xiàn)模塊.包名稱稱為One-Time-Pad,其中包括一個(gè)命令行加密工具,該工具使用類似于一次性密碼密碼算法的加密機(jī)制.

安裝

您可以使用以下命令安裝此模塊 :

 pip install onetimepad

如果您希望從命令行使用它,請運(yùn)行以下命令 :

 onetimepad

代碼

以下代碼有助于生成一次性密碼密碼;

import?onetimepad
cipher?=?onetimepad.encrypt('One?Time?Cipher',?'random')
print("Cipher?text?is?")
print(cipher)
print("Plain?text?is?")
msg?=?onetimepad.decrypt(cipher,?'random')
print(msg)

輸出

運(yùn)行上面和下面給出的代碼時(shí),您可以觀察到以下輸出;

注意 : 如果密鑰的長度小于消息的長度(純文本),則加密的消息很容易破解.

在任何情況下,密鑰不一定是隨機(jī)的,這使得一次性密碼密碼作為一種有價(jià)值的工具.

以上就是python密碼學(xué)一次性密碼的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于python一次性密碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 編程語言詳細(xì)介紹

    Python 編程語言詳細(xì)介紹

    這篇文章主要分享的是 Python 編程語言的詳細(xì)介紹,Python 由 Guido van Rossum 設(shè)計(jì),作為“ABC”編程語言的繼承者,于 1991 年首次發(fā)布。它是一種高級通用語言,其設(shè)計(jì)理念是通過使用縮進(jìn)來強(qiáng)調(diào)代碼的可讀性。文章具有一定的參考價(jià)值,需要的朋友可以參考一下
    2021-11-11
  • Python網(wǎng)絡(luò)爬蟲之獲取網(wǎng)絡(luò)數(shù)據(jù)

    Python網(wǎng)絡(luò)爬蟲之獲取網(wǎng)絡(luò)數(shù)據(jù)

    本文介紹了Python中用于獲取網(wǎng)絡(luò)數(shù)據(jù)的重要工具之一——Requests庫,詳細(xì)講解了Requests庫的基本使用方法、請求方法、請求頭、請求參數(shù)、Cookies、Session等內(nèi)容,并結(jié)合實(shí)例代碼展示了Requests庫的應(yīng)用場景
    2023-04-04
  • pymysql 插入數(shù)據(jù) 轉(zhuǎn)義處理方式

    pymysql 插入數(shù)據(jù) 轉(zhuǎn)義處理方式

    今天小編就為大家分享一篇pymysql 插入數(shù)據(jù) 轉(zhuǎn)義處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 基于Python實(shí)現(xiàn)萬年歷制作

    基于Python實(shí)現(xiàn)萬年歷制作

    制作一個(gè)萬年歷是一個(gè)有趣的Python項(xiàng)目,它可以讓您查看任何年份的日歷并獲得特定日期的信息,下面我們就來看看具體是如何使用Python實(shí)現(xiàn)的吧
    2023-12-12
  • Python 實(shí)現(xiàn)過濾掉列表中唯一值

    Python 實(shí)現(xiàn)過濾掉列表中唯一值

    這篇文章主要介紹了Python 實(shí)現(xiàn)過濾掉列表中唯一值,文章內(nèi)容主要利用Python代碼實(shí)現(xiàn)過濾掉列表中的唯一值的功能,需要的朋友可以參考一下
    2021-11-11
  • 淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法

    今天小編就為大家分享一篇淺談python函數(shù)調(diào)用返回兩個(gè)或多個(gè)變量的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python基礎(chǔ)之pandas數(shù)據(jù)合并

    Python基礎(chǔ)之pandas數(shù)據(jù)合并

    這篇文章主要介紹了Python基礎(chǔ)之pandas數(shù)據(jù)合并,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法

    python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法

    python,本身來說是一門高級編程語言,python它入門簡單,有基礎(chǔ)的學(xué)起來很快就能有簡單的應(yīng)用,但是在非常高的抽象計(jì)算中,高級的python程序設(shè)計(jì)也是非常難學(xué)的。接下來給大家介紹python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法,一起看看吧
    2018-02-02
  • Python3使用Selenium獲取session和token方法詳解

    Python3使用Selenium獲取session和token方法詳解

    這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下
    2021-02-02
  • Python數(shù)據(jù)可視化之畫圖

    Python數(shù)據(jù)可視化之畫圖

    今天小編就為大家分享一篇關(guān)于Python數(shù)據(jù)可視化之畫圖,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論