Python中加密函数的类型主要包括对称加密算法、非对称加密算法以及哈希算法。以下是对这些算法的简要介绍:
pycryptodome
库来实现这些算法。例如,使用AES加密和解密数据可以使用以下代码:cryptography
库来实现RSA等算法。例如,使用RSA加密和解密数据可以使用以下代码:from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.backends import default_backend
# 生成RSA密钥对
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048,
backend=default_backend()
)
public_key = private_key.public_key()
# 加载公钥和私钥
public_pem = public_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
private_pem = private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
)
# 加密数据
data = b"Hello, world!"
encrypted = public_key.encrypt(
data,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
# 解密数据
decrypted = private_key.decrypt(
encrypted,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
hashlib
库来实现这些算法。例如,计算数据的SHA-256哈希值可以使用以下代码:import hashlib
data = b"Hello, world!"
hash_object = hashlib.sha256(data)
hex_dig = hash_object.hexdigest()
print(hex_dig)
请注意,以上示例仅用于演示目的,实际应用中可能需要根据具体需求选择合适的加密算法和库,并注意保护密钥和敏感信息的安全。