91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Python加密與解密有何技巧

小樊
82
2024-11-02 19:22:36
欄目: 編程語言

在Python中,加密和解密可以通過多種方式實現。以下是一些常用的加密和解密技巧:

  1. 使用標準庫cryptography:

cryptography是一個功能強大的加密庫,提供了許多加密算法,如AES、DES和RSA等。以下是使用AES加密和解密的示例:

from cryptography.fernet import Fernet

# 生成密鑰
key = Fernet.generate_key()

# 創建Fernet對象
cipher_suite = Fernet(key)

# 加密數據
data = b"Hello, World!"
encrypted_data = cipher_suite.encrypt(data)
print("Encrypted data:", encrypted_data)

# 解密數據
decrypted_data = cipher_suite.decrypt(encrypted_data)
print("Decrypted data:", decrypted_data.decode())
  1. 使用pycryptodome:

pycryptodome是另一個流行的加密庫,提供了許多加密算法,如AES、DES和RSA等。以下是使用AES加密和解密的示例:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
import base64

# 生成密鑰
key = get_random_bytes(16)

# 創建AES對象
cipher = AES.new(key, AES.MODE_CBC)

# 加密數據
data = b"Hello, World!"
iv = cipher.iv
encrypted_data = cipher.encrypt(pad(data, AES.block_size))
print("Encrypted data:", base64.b64encode(iv + encrypted_data).decode())

# 解密數據
iv = base64.b64decode(encrypted_data[:16])
encrypted_data = base64.b64decode(encrypted_data[16:])
cipher = AES.new(key, AES.MODE_CBC, iv)
decrypted_data = unpad(cipher.decrypt(encrypted_data), AES.block_size)
print("Decrypted data:", decrypted_data.decode())
  1. 使用第三方庫pyOpenSSL:

pyOpenSSL是一個基于OpenSSL的Python庫,提供了許多加密算法,如AES、DES和RSA等。以下是使用AES加密和解密的示例:

import OpenSSL

# 生成密鑰
key = OpenSSL.rand(OpenSSL.crypto.SHA256().digest_size)
cipher = OpenSSL.crypto.Cipher("AES-256-CBC", key, None)

# 加密數據
data = b"Hello, World!"
encrypted_data = cipher.encrypt(data)
print("Encrypted data:", encrypted_data)

# 解密數據
cipher = OpenSSL.crypto.Cipher("AES-256-CBC", key, None)
cipher.set_iv(encrypted_data[:cipher.iv_length])
decrypted_data = cipher.decrypt(encrypted_data[cipher.iv_length:])
print("Decrypted data:", decrypted_data)

在使用這些庫時,請確保正確處理密鑰和初始化向量(IV),因為它們對于解密過程至關重要。同時,注意選擇合適的加密算法和模式,以確保數據的安全性。

0
通化县| 乐陵市| 田林县| 天祝| 庆城县| 阿巴嘎旗| 新河县| 湟源县| 浦县| 辛集市| 青神县| 栾川县| 东丽区| 海南省| 大化| 会同县| 加查县| 长子县| 通山县| 红原县| 南华县| 大同县| 杭锦旗| 陈巴尔虎旗| 油尖旺区| 右玉县| 沙田区| 留坝县| 楚雄市| 唐河县| 新巴尔虎左旗| 长沙市| 大名县| 习水县| 兴和县| 织金县| 杭锦旗| 连平县| 昌平区| 奉新县| 白银市|