欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 非對稱加密

老白2年前9瀏覽0評論

Python是一種流行的編程語言,它具有強大的加密功能。其中非對稱加密是一種常見的加密方式,它使用一對密鑰來加密和解密數據。

在Python中,可以使用Cryptographic Services (PyCryptodome)庫來進行非對稱加密。下面的代碼演示了如何使用RSA算法進行非對稱加密。

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64
# 生成RSA密鑰對
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# 加密函數
def encrypt(message, public_key):
rsa_key = RSA.import_key(public_key)
cipher = PKCS1_OAEP.new(rsa_key)
encrypted_message = cipher.encrypt(message)
return base64.b64encode(encrypted_message)
# 解密函數
def decrypt(ciphertext, private_key):
rsa_key = RSA.import_key(private_key)
cipher = PKCS1_OAEP.new(rsa_key)
decrypted_message = cipher.decrypt(base64.b64decode(ciphertext))
return decrypted_message
# 加密數據
message = b'secret message'
encrypted_message = encrypt(message, public_key)
print('Encrypted message:', encrypted_message)
# 解密數據
decrypted_message = decrypt(encrypted_message, private_key)
print('Decrypted message:', decrypted_message)

首先,我們生成一個2048位的RSA密鑰對。然后,我們定義了一個encrypt函數來加密數據,一個decrypt函數來解密數據。在encrypt函數中,我們首先將公鑰轉換為RSA密鑰對象,然后使用PKCS1_OAEP算法進行加密,并將結果進行了Base64編碼。在decrypt函數中,我們首先將私鑰轉換為RSA密鑰對象,然后使用PKCS1_OAEP算法進行解密,并將結果進行了Base64解碼。

然后,我們使用encrypt函數對一個字節串進行加密,并打印出加密后的結果。接著,我們使用decrypt函數對加密后的密文進行解密,并打印出解密后的原文。

通過這個例子,我們可以看到,在Python中使用非對稱加密非常容易,只需要使用PyCryptodome庫,并遵循一些簡單的加密和解密步驟。