Python中10个用于加密和解密的函数
发布时间:2023-07-01 11:06:16
1. base64.b64encode: 该函数可以将字节数据进行Base64编码,用于加密敏感信息,如密码、文件内容等。示例代码如下:
import base64 data = b'secret data' encrypted_data = base64.b64encode(data) print(encrypted_data)
2. base64.b64decode: 该函数可以将Base64编码的数据进行解码,还原为原始的字节数据。示例代码如下:
import base64 encrypted_data = b'c2VjcmV0IGRhdGE=' decrypted_data = base64.b64decode(encrypted_data) print(decrypted_data)
3. hashlib.md5: 该函数可以使用MD5算法对数据进行加密,生成固定长度的哈希值。示例代码如下:
import hashlib data = b'my password' encrypted_data = hashlib.md5(data) print(encrypted_data.hexdigest())
4. hashlib.sha1: 该函数可以使用SHA-1算法对数据进行加密,生成固定长度的哈希值。示例代码如下:
import hashlib data = b'my password' encrypted_data = hashlib.sha1(data) print(encrypted_data.hexdigest())
5. hashlib.sha256: 该函数可以使用SHA-256算法对数据进行加密,生成固定长度的哈希值。示例代码如下:
import hashlib data = b'my password' encrypted_data = hashlib.sha256(data) print(encrypted_data.hexdigest())
6. hmac.HMAC: 该函数可以使用HMAC算法对数据进行加密,结合一个密钥生成固定长度的哈希值。示例代码如下:
import hmac data = b'my password' key = b'secret key' encrypted_data = hmac.HMAC(key, data) print(encrypted_data.hexdigest())
7. cryptography.fernet.Fernet: 该函数可以使用Fernet加密算法对数据进行加密和解密,并使用一个密钥进行操作。示例代码如下:
from cryptography.fernet import Fernet data = b'my password' key = Fernet.generate_key() cipher_suite = Fernet(key) encrypted_data = cipher_suite.encrypt(data) print(encrypted_data) decrypted_data = cipher_suite.decrypt(encrypted_data) print(decrypted_data)
8. rsa.encrypt: 该函数可以使用RSA算法对数据进行加密,需要提供一个公钥。示例代码如下:
from rsa.key import PublicKey import rsa data = b'my password' public_key = PublicKey(n, e) # 公钥的n和e参数 encrypted_data = rsa.encrypt(data, public_key) print(encrypted_data)
9. rsa.decrypt: 该函数可以使用RSA算法对数据进行解密,需要提供一个私钥。示例代码如下:
from rsa.key import PrivateKey import rsa encrypted_data = b'encrypted data' private_key = PrivateKey(n, e, d) # 私钥的n、e和d参数 decrypted_data = rsa.decrypt(encrypted_data, private_key) print(decrypted_data)
10. pyDes.des: 该函数可以使用DES加密算法对数据进行加密和解密,需要提供一个密钥。示例代码如下:
from pyDes import des, CBC, PAD_PKCS5 data = b'my password' key = b'secret key' cipher_suite = des(key, CBC, key, pad=None, padmode=PAD_PKCS5) encrypted_data = cipher_suite.encrypt(data) print(encrypted_data) decrypted_data = cipher_suite.decrypt(encrypted_data) print(decrypted_data)
以上是Python中十个用于加密和解密的函数,包括Base64编码、哈希算法、HMAC算法、Fernet加密算法、RSA算法和DES加密算法等。不同的算法适用于不同的场景,可以根据实际需求选择合适的函数进行加密和解密操作。
