亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python密碼學對稱和非對稱密碼教程

 更新時間:2022年05月24日 14:04:21   作者:菜鳥教程  
這篇文章主要為大家介紹了python密碼學對稱和非對稱密碼教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

在本章中,我們將詳細討論對稱和非對稱密碼術.

對稱密碼術

在此類型中,加密和解密進程使用相同的密鑰.它也被稱為秘密密鑰加密.對稱加密的主要特征如下:

  • 它更簡單,更快.
  • 雙方以安全的方式交換密鑰.

缺點

對稱密碼術的主要缺點是如果密鑰泄漏給入侵者,則可以輕松更改消息,這被視為風險因素.

數(shù)據加密標準(DES)

最流行的對稱密鑰算法是數(shù)據加密標準(DES),Python包含一個包含DES算法背后的邏輯的包.

安裝

在Python中安裝DES包 pyDES 的命令是 :

pip install pyDES

DES算法的簡單程序實現(xiàn)如下<

import?pyDes
data?=?"DES?Algorithm?Implementation"
k?=?pyDes.des("DESCRYPT",?pyDes.CBC,?"\0\0\0\0\0\0\0\0",?pad=None,?padmode=pyDes.PAD_PKCS5)
d?=?k.encrypt(data)
print?"Encrypted:?%r"?%?d
print?"Decrypted:?%r"?%?k.decrypt(d)
assert?k.decrypt(d)?==?data

它調用變量 padmode ,它根據DES算法實現(xiàn)提取所有包,并以指定的方式進行加密和解密.

輸出

您可以看到以下輸出作為上面和下面給出的代碼的結果;

非對稱加密

它也被稱為公鑰加密.它以對稱加密的相反方式工作.這意味著它需要兩個密鑰:一個用于加密,另一個用于解密.公鑰用于加密,私鑰用于解密.

缺點

  • 由于其密鑰長度,它的加密速度較低.
  • 密鑰管理至關重要.

以下Python中的程序代碼說明了使用RSA算法進行非對稱加密的工作及其實現(xiàn) :

from?Crypto?import?Random
from?Crypto.PublicKey?import?RSA
import?base64
def?generate_keys():
???#?key?length?must?be?a?multiple?of?256?and?>=?1024
???modulus_length?=?256*4
???privatekey?=?RSA.generate(modulus_length,?Random.new().read)
???publickey?=?privatekey.publickey()
???return?privatekey,?publickey
def?encrypt_message(a_message?,?publickey):
???encrypted_msg?=?publickey.encrypt(a_message,?32)[0]
???encoded_encrypted_msg?=?base64.b64encode(encrypted_msg)
???return?encoded_encrypted_msg
def?decrypt_message(encoded_encrypted_msg,?privatekey):
???decoded_encrypted_msg?=?base64.b64decode(encoded_encrypted_msg)
???decoded_decrypted_msg?=?privatekey.decrypt(decoded_encrypted_msg)
???return?decoded_decrypted_msg
a_message?=?"This?is?the?illustration?of?RSA?algorithm?of?asymmetric?cryptography"
privatekey?,?publickey?=?generate_keys()
encrypted_msg?=?encrypt_message(a_message?,?publickey)
decrypted_msg?=?decrypt_message(encrypted_msg,?privatekey)
print?"%s?-?(%d)"?%?(privatekey.exportKey()?,?len(privatekey.exportKey()))
print?"%s?-?(%d)"?%?(publickey.exportKey()?,?len(publickey.exportKey()))
print?"?Original?content:?%s?-?(%d)"?%?(a_message,?len(a_message))
print?"Encrypted?message:?%s?-?(%d)"?%?(encrypted_msg,?len(encrypted_msg))
print?"Decrypted?message:?%s?-?(%d)"?%?(decrypted_msg,?len(decrypted_msg))

輸出

你可以找到執(zhí)行上面給出的代碼時減去輸出;

以上就是python密碼學對稱和非對稱密碼教程的詳細內容,更多關于python對稱非對稱密碼學的資料請關注腳本之家其它相關文章!

相關文章

  • PyCharm GUI界面開發(fā)和exe文件生成的實現(xiàn)

    PyCharm GUI界面開發(fā)和exe文件生成的實現(xiàn)

    這篇文章主要介紹了PyCharm GUI界面開發(fā)和exe文件生成,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python Flask 轉換器的使用詳解

    Python Flask 轉換器的使用詳解

    這篇文章主要介紹了Python_Flask 轉換器的使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • caffe的python接口生成配置文件學習

    caffe的python接口生成配置文件學習

    這篇文章主要介紹了caffe的python接口生成配置文件學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • python3 判斷列表是一個空列表的方法

    python3 判斷列表是一個空列表的方法

    今天小編就為大家分享一篇python3 判斷列表是一個空列表的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn)實時數(shù)據采集新型冠狀病毒數(shù)據實例

    Python實現(xiàn)實時數(shù)據采集新型冠狀病毒數(shù)據實例

    在本篇文章里小編給大家整理了關于Python實現(xiàn)實時數(shù)據采集新型冠狀病毒數(shù)據實例內容,有需要的朋友們可以學習參考下。
    2020-02-02
  • python利用beautifulSoup實現(xiàn)爬蟲

    python利用beautifulSoup實現(xiàn)爬蟲

    這篇文章主要介紹了python利用beautifulSoup實現(xiàn)爬蟲,需要的朋友可以參考下
    2014-09-09
  • Python字符串字母大小寫轉換的各種情況詳析

    Python字符串字母大小寫轉換的各種情況詳析

    在使用python語言開發(fā)中經常會碰到,需要大寫轉小寫,小寫轉換大寫,甚至字符串中的單詞首字母大寫,以及字符串手字字母大寫的問題,下面這篇文章主要給大家介紹了關于Python字符串字母大小寫轉換的相關資料,需要的朋友可以參考下
    2022-05-05
  • python glom模塊的使用簡介

    python glom模塊的使用簡介

    這篇文章主要介紹了python glom模塊的使用簡介,幫助大家更好的利用python處理數(shù)據,感興趣的朋友可以了解下
    2021-04-04
  • Python Pytorch深度學習之自動微分

    Python Pytorch深度學習之自動微分

    今天小編就為大家分享一篇關于Pytorch自動微分的文章,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-10-10
  • Django form表單與請求的生命周期步驟詳解

    Django form表單與請求的生命周期步驟詳解

    這篇文章主要介紹了Django-form表單與請求的生命周期,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論