公司网站建设方案书,现代网站开发建设流程,定制礼品,wordpress推荐商品主题建议食用原文链接效果更佳
Python 加密解密技巧大揭秘#xff1a;让你的数据安全无忧 今天我们将探讨在 Python 中常见的加密解密算法#xff0c;并通过代码案例来帮助大家更好地理解它们的实现。 在开始之前#xff0c;请确保您已经安装了 pycryptodome 这个库。您可以使用…建议食用原文链接效果更佳
Python 加密解密技巧大揭秘让你的数据安全无忧 今天我们将探讨在 Python 中常见的加密解密算法并通过代码案例来帮助大家更好地理解它们的实现。 在开始之前请确保您已经安装了 pycryptodome 这个库。您可以使用以下命令进行安装 pip install pycryptodome 1. DES 加密算法
DESData Encryption Standard是一种对称加密算法其密钥长度为 56 位。以下是一个简单的 Python 实现
from Crypto.Cipher import DES from Crypto.Util.Padding import pad, unpad import base64
# 要加密的文本 text Hello, world!
# 使用 DES-ECB 模式加密 cipher DES.new(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, DES.MODE_ECB) cipher_text base64.b64encode(cipher.encrypt(pad(text.encode(), DES.block_size))) print(DES 加密结果, cipher_text.decode(utf-8))# 使用 DES-ECB 模式解密 plain_text unpad(cipher.decrypt(base64.b64decode(cipher_text)), DES.block_size) print(DES 解密结果, plain_text.decode(utf-8)) 2. 3DES 加密算法
3DESTriple Data Encryption Standard是一种对称加密算法它是 DES 的增强版。以下是一个简单的 Python 实现
from Crypto.Cipher import DES3 from Crypto.Util.Padding import pad, unpad import base64
# 要加密的文本 text Hello, world!
# 使用 3DES-ECB 模式加密 cipher DES3.new(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, DES3.MODE_ECB) cipher_text base64.b64encode(cipher.encrypt(pad(text.encode(), DES3.block_size))) print(3DES 加密结果, cipher_text.decode(utf-8))
# 使用 3DES-ECB 模式解密 plain_text unpad(cipher.decrypt(base64.b64decode(cipher_text)), DES3.block_size) print(3DES 解密结果, plain_text.decode(utf-8)) 3. SHA-256 加密算法
SHA-256Secure Hash Algorithm 256是一种哈希算法它不属于加密算法但是它可以对数据进行摘要生成一个固定长度的摘要值通常用于数据完整性验证和数字签名等场景。以下是一个简单的 Python 实现
import hashlib
# 要加密的文本 text Hello, world!
# 使用 SHA-256 进行加密 hash_object hashlib.sha256(text.encode()) hash_hex hash_object.hexdigest() print(SHA-256 加密结果, hash_hex) 4. RSA 加密算法非对称加密
RSARivest-Shamir-Adleman是一种非对称加密算法它需要一对密钥分别为公钥和私钥。以下是一个简单的 Python 实现
from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP from Crypto.Random import get_random_bytes import base64
# 生成 RSA 密钥对 key RSA.generate(2048)
# 获取私钥和公钥 private_key key.export_key() public_key key.publickey().export_key()# 要加密的文本 text Hello, world!#使用 RSA 公钥加密cipher PKCS1_OAEP.new(public_key)cipher_text base64.b64encode(cipher.encrypt(pad(text.encode(), AES.block_size)))print(RSA 加密结果公钥, cipher_text.decode(utf-8))
#使用 RSA 私钥解密plain_text unpad(cipher.decrypt(base64.b64decode(cipher_text)), AES.block_size)print(RSA 解密结果私钥, plain_text.decode(utf-8)) 5. AES 加密算法
AESAdvanced Encryption Standard是一种对称加密算法它是目前广泛应用的加密标准之一。以下是一个简单的 Python 实现
from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad import base64
# 要加密的文本 text Hello, world!
# 使用 AES-CBC 模式加密 cipher AES.new(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, AES.MODE_CBC) cipher_text base64.b64encode(cipher.encrypt(pad(text.encode(), AES.block_size))) print(AES 加密结果CBC 模式, cipher_text.decode(utf-8))
# 使用 AES-CBC 模式解密 plain_text unpad(cipher.decrypt(base64.b64decode(cipher_text)), AES.block_size) print(AES 解密结果CBC 模式, plain_text.decode(utf-8))
以上就是关于 Python 常见加密解密算法的解析及代码案例。
加密和解密算法在实际应用中扮演着重要的角色掌握这些算法对于程序员和初学者来说是非常有益的。
希望这篇文章能对您有所帮助。