国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python庫-密碼學(xué)庫pynacl

這篇具有很好參考價值的文章主要介紹了python庫-密碼學(xué)庫pynacl。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

python庫-密碼學(xué)庫pynacl

什么是pynacl

官方: https://pynacl.readthedocs.io/en/latest/

PyNaCl is a Python binding to libsodium, which is a fork of the Networking and Cryptography library. These libraries have a stated goal of improving usability, security and speed. It supports Python 3.6+ as well as PyPy 3.

PyNaCl 是 libsodium C庫綁定封裝。PyNaCl是libsodium庫的Python實現(xiàn)。libsodium是一個基于NaCI開發(fā)的先進(jìn)而且易用的加密庫,主要用于加密、解密、簽名和生成密碼哈希等。PyNaCI能夠提供數(shù)字簽名、密鑰加密、公鑰加密、哈希和消息身份驗證、基于密碼的密鑰派生和密碼散列功能。

libsodium 是c寫的,現(xiàn)代,便攜式,易于使用的加密庫。Sodium是一個新的,易于使用的軟件庫,用于加密,解密,簽名,密碼哈希等。
官網(wǎng):libsodium.org
github: https://github.com/jedisct1/libsodium

PyNaCl功能:

  • Digital signatures
  • Secret-key encryption
  • Public-key encryption
  • Hashing and message authentication
  • Password based key derivation and password hashing

數(shù)字簽名使用example

官方:https://pynacl.readthedocs.io/en/latest/signing/

數(shù)字簽名允許您公布公共密鑰,然后您可以使用私有簽名密鑰來簽名消息。然后,擁有您的公鑰的其他人可以使用它來驗證您的消息實際上是真實的。

簽名和驗證消息而無需編碼密鑰或消息:

簽名 (SigningKey):

from nacl.encoding import Base64Encoder
from nacl.signing import SigningKey

# Generate a new random signing key
signing_key = SigningKey.generate()

# Sign a message with the signing key
signed_b64 = signing_key.sign(b"Attack at Dawn", encoder=Base64Encoder)

# Obtain the verify key for a given signing key
verify_key = signing_key.verify_key

# Serialize the verify key to send it to a third party
verify_key_b64 = verify_key.encode(encoder=Base64Encoder)

驗簽 (VerifyKey):

from nacl.encoding import Base64Encoder
from nacl.signing import VerifyKey

# Create a VerifyKey object from a base64 serialized public key
verify_key = VerifyKey(verify_key_b64, encoder=Base64Encoder)

# Check the validity of a message's signature
# The message and the signature can either be passed together, or
# separately if the signature is decoded to raw bytes.
# These are equivalent:
verify_key.verify(signed_b64, encoder=Base64Encoder)
signature_bytes = Base64Encoder.decode(signed_b64.signature)
verify_key.verify(signed_b64.message, signature_bytes,
                  encoder=Base64Encoder)

# Alter the signed message text
forged = signed_b64[:-1] + bytes([int(signed_b64[-1]) ^ 1])
# Will raise nacl.exceptions.BadSignatureError, since the signature check
# is failing
verify_key.verify(forged)
Traceback (most recent call last):
 ...
nacl.exceptions.BadSignatureError: Signature was forged or corrupt

classnacl.signing.SigningKey(seed, encoder)[source]?
使用ED25519算法生產(chǎn)數(shù)字簽名的私鑰。

簽名密鑰是由32字節(jié)(256位)隨機(jī)種子值產(chǎn)生的。該值可以以32的長度為bytes()傳遞到簽名密鑰中。

參數(shù):
seed (bytes) – Random 32-byte value (i.e. private key).
encoder – A class that is able to decode the seed.文章來源地址http://www.zghlxwxcb.cn/news/detail-409018.html

到了這里,關(guān)于python庫-密碼學(xué)庫pynacl的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 密碼學(xué)之DES,3DES與Python實現(xiàn)AES

    最近項目中需要用到DES,3DES解密算法,所以了解一下。正好CSDN上有關(guān)于DES,3DES的資料。邊看邊寫一下總結(jié)。 密碼學(xué)之DES,3DES詳解與Python實現(xiàn) DES(Data Encryption Standard-數(shù)據(jù)加密標(biāo)準(zhǔn))屬于對稱加密,即使用相同的密鑰來完成加密和解密。分組長度為8個字節(jié)64bit(密鑰每個字節(jié)的最

    2024年02月08日
    瀏覽(21)
  • 【11.10】現(xiàn)代密碼學(xué)1——密碼學(xué)發(fā)展史:密碼學(xué)概述、安全服務(wù)、香農(nóng)理論、現(xiàn)代密碼學(xué)

    【11.10】現(xiàn)代密碼學(xué)1——密碼學(xué)發(fā)展史:密碼學(xué)概述、安全服務(wù)、香農(nóng)理論、現(xiàn)代密碼學(xué)

    參考:密碼學(xué)發(fā)展簡史 駱婷老師的《現(xiàn)代密碼學(xué)(32H)》課程,筆記+查找的資料補(bǔ)充 期末為閉卷考試的形式 密碼學(xué)早在公元前400多年就已經(jīng)產(chǎn)生,人類使用密碼的歷史幾乎與使用文字的時間一樣長,密碼學(xué)的發(fā)展大致可以分為 3 個階段: 1949年之前的古典密碼學(xué)階段; 1949 年

    2024年02月04日
    瀏覽(24)
  • 【密碼學(xué)】高級密碼學(xué)-2

    【密碼學(xué)】高級密碼學(xué)-2

    ??第⑤部分由L3H_CoLin編寫,有一些修改。?? Song, Dawn Xiaoding, David Wagner, and Adrian Perrig. “Practical techniques for searches on encrypted data.” Proceeding 2000 IEEE Symposium on Security and Privacy. SP 2000. IEEE, 2000. 數(shù)據(jù)的安全外包存儲 利用密碼算法加密明文數(shù)據(jù),使得云平臺無法獲得額外信息 解決

    2024年02月16日
    瀏覽(44)
  • 【密碼學(xué)】高級密碼學(xué)-1

    【密碼學(xué)】高級密碼學(xué)-1

    ??通信雙方使用 同一個密鑰 ,通過使用加密算法配合上密鑰來加密,解密過程采用加密過程的逆過程配合密鑰即可。 ??常見的對稱加密算法有DES、AES等。 ??對稱加密的缺點:不能在不安全的網(wǎng)絡(luò)上傳輸密鑰,一旦密鑰泄露則加密通信失敗。 ??非對稱加密使用了一

    2024年02月05日
    瀏覽(25)
  • 【密碼學(xué)-1】一文入門非對稱密碼學(xué)

    【密碼學(xué)-1】一文入門非對稱密碼學(xué)

    本文共1932字,完成閱讀約需6分鐘。 猶記得2021年年初的一波區(qū)塊鏈熱潮讓無數(shù)人第一次了解到了“公鑰”和“私鑰”的概念,那么,究竟什么是公鑰私鑰呢?和常見的密鑰又有什么區(qū)別和聯(lián)系呢?本文目的在用盡可能短的時間和簡潔的語言,帶你快速了解非對稱密碼學(xué)的基本

    2023年04月08日
    瀏覽(46)
  • 密碼學(xué)基本原理和發(fā)展——近代密碼學(xué)

    密碼學(xué)基本原理和發(fā)展——近代密碼學(xué)

    目錄 1 密碼機(jī)通信模型 2 Enigma密碼機(jī)構(gòu)造 3 Enigma密碼機(jī)加解密過程 3.1?加密過程 3.2?解密過程 4 Enigma密碼機(jī)的安全性 5 Enigma密碼機(jī)破解 5.1?波蘭雷耶夫斯基破解 5.2?圖靈破解 ? ? ? ?近代密碼一般指20世紀(jì)初~20世紀(jì)70年代期間的密碼技術(shù)。20 世紀(jì)初電報的出現(xiàn)第一次使遠(yuǎn)距離

    2024年02月06日
    瀏覽(89)
  • 密碼學(xué)基本原理和發(fā)展——古典密碼學(xué)

    密碼學(xué)基本原理和發(fā)展——古典密碼學(xué)

    ? 目錄 1?滾筒密碼 2?棋盤密碼 3?凱撒密碼 4?單表代換與多表代換 4.1?單表代換 4.2?多表代換 ? ? ? ? 密碼技術(shù)最早起源于公元前404年的希臘,此后密碼大致經(jīng)歷了 古典密碼、近代密碼和現(xiàn)代密碼三個階段。 ? ? ? ? 古典密碼(公元前五世紀(jì)~19世紀(jì)末)代表性的是 滾桶密

    2024年02月05日
    瀏覽(98)
  • 【密碼學(xué)】量子安全的密碼學(xué)算法以及原理介紹

    (1)“代數(shù)格密碼套件”(CRYSTALS)包含兩個密碼原語Kyber和Dilithium。Kyber是一種抗適應(yīng)性選擇密文攻擊(IND-CCA2)安全密鑰封裝機(jī)制,Dilithium是一種高度不可偽造性(EUF-CMA)安全數(shù)字簽名算法。兩種密碼都是為了應(yīng)對量子計算機(jī)的攻擊,并且在操作過程中只需更改幾個參數(shù)即

    2024年02月11日
    瀏覽(99)
  • 程序猿成長之路之密碼學(xué)篇-密碼學(xué)簡介

    程序猿成長之路之密碼學(xué)篇-密碼學(xué)簡介

    在閱讀本文前需要了解的術(shù)語: 授權(quán)人/非授權(quán)人:授權(quán)人指獲取了查看數(shù)據(jù)權(quán)限的用戶,非授權(quán)人則是指未獲取到權(quán)限的用戶。 明文/密文:明文指沒有加密的數(shù)據(jù)內(nèi)容,密文是指加密后的數(shù)據(jù)內(nèi)容 CIA(密碼學(xué)中不是美國中情局的意思,是信息安全三要素): C-Confidentiality 機(jī)

    2024年02月04日
    瀏覽(19)
  • 密碼學(xué):公鑰密碼.(非對稱密碼)

    密碼學(xué):公鑰密碼.(非對稱密碼)

    公鑰密碼 (Public Key Cryptography),又稱為 非對稱密碼 ,其最大特征是 加密和解密不再使用相同的密鑰 ,而使用不同的密鑰。使用者會將一個密鑰公開,而將另一個密鑰私人持有,這時這兩個密鑰被稱為 公鑰和私鑰 。一般來說,公鑰和私鑰是難以互相計算的,但它們可以互相

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包