欢迎访问宙启技术站
智能推送

Python中常用的5个加密和解密函数

发布时间:2023-07-03 16:50:24

在Python中,有很多常用的加密和解密函数可以用于加密和解密数据。下面是五个常用的加密和解密函数和其简要介绍。

1. hashlib模块 - 该模块提供了多种加密算法,如MD5、SHA-256等。使用hashlib模块可以计算任意字符串的hash值。

示例代码:

import hashlib

message = "Hello World!"
hash_md5 = hashlib.md5(message.encode()).hexdigest()
print("MD5:", hash_md5)

hash_sha256 = hashlib.sha256(message.encode()).hexdigest()
print("SHA256:", hash_sha256)

2. base64模块 - 用于对二进制数据进行编码和解码。base64.b64encode()函数用于将数据进行base64编码,base64.b64decode()函数用于将base64编码的数据解码。

示例代码:

import base64

message = "Hello World!"
encoded_data = base64.b64encode(message.encode()).decode()
print("Encoded:", encoded_data)

decoded_data = base64.b64decode(encoded_data).decode()
print("Decoded:", decoded_data)

3. cryptography模块 - 一个用于加密和解密的Python库,提供了对称加密、非对称加密和哈希算法等功能。

示例代码:

from cryptography.fernet import Fernet

key = Fernet.generate_key()
cipher_suite = Fernet(key)

message = "Hello World!"
cipher_text = cipher_suite.encrypt(message.encode())
print("Encrypted:", cipher_text)

plain_text = cipher_suite.decrypt(cipher_text).decode()
print("Decrypted:", plain_text)

4. rsa模块 - 一个用于加密和解密的Python库,提供了RSA算法的实现。可用于生成RSA密钥对、加密和解密数据。

示例代码:

from rsa.key import newkeys
from rsa import encrypt, decrypt

public_key, private_key = newkeys(1024)

message = "Hello World!"
cipher_text = encrypt(message.encode(), public_key)
print("Encrypted:", cipher_text)

plain_text = decrypt(cipher_text, private_key).decode()
print("Decrypted:", plain_text)

5. pyDes模块 - 一个用于加密和解密数据的Python库,提供了DES和3DES的实现。可以对数据进行加密和解密操作。

示例代码:

from pyDes import des, triple_des

key = b"secret-key"
cipher = des(key)
cipher_text = cipher.encrypt("Hello World!".encode())
print("Encrypted:", cipher_text)

plain_text = cipher.decrypt(cipher_text).decode()
print("Decrypted:", plain_text)

key_3des = b"secret-key-3des"
cipher_3des = triple_des(key_3des)
cipher_text_3des = cipher_3des.encrypt("Hello World!".encode())
print("Encrypted (3DES):", cipher_text_3des)

plain_text_3des = cipher_3des.decrypt(cipher_text_3des).decode()
print("Decrypted (3DES):", plain_text_3des)

这些加密和解密函数在Python中非常常用,可根据实际需求选择适合的加密算法和函数。请注意,加密和解密只是一种保护数据安全的手段,具体的加密算法和使用方式应根据具体的场景和需求来选择。