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

Python中的加密解密函数-常用的加密解密函数详解

发布时间:2023-06-30 16:48:40

在Python中,有许多常用的加密解密函数,可以用于保护敏感信息的安全性。这些函数可以加密和解密数据,以确保数据在传输和储存过程中不被未授权的人员访问。

1. base64加密解密函数

Base64是一种将二进制数据编码为ASCII字符的方法,常用于在网络上传输数据。Python的base64模块提供了base64加密解密函数。

加密函数:base64.b64encode(data)

这个函数将data进行base64编码,返回编码后的数据。

解密函数:base64.b64decode(data)

这个函数将data进行base64解码,返回解码后的数据。

2. hashlib加密函数

hashlib模块提供了许多加密算法,如MD5、SHA1等。这些算法可以对数据进行单向加密,即只能加密,无法解密。

加密函数:hashlib.算法名(data)

使用指定的算法对data进行加密,返回加密后的结果。

示例:

import hashlib

data = 'hello world'.encode('utf-8')

md5 = hashlib.md5()

md5.update(data)

md5_encrypt = md5.hexdigest()

sha1 = hashlib.sha1()

sha1.update(data)

sha1_encrypt = sha1.hexdigest()

print(md5_encrypt)  # 5eb63bbbe01eeed093cb22bb8f5acdc3

print(sha1_encrypt) # 2ef7bde608ce5404e97d5f042f95f89f1c232871

3. cryptography库的加密解密函数

cryptography库是一个功能强大的加密工具,支持对称加密和非对称加密。它提供了各种加密算法,如AES、RSA等。

对称加密函数:

from cryptography.fernet import Fernet

# 生成密钥

key = Fernet.generate_key()

# 创建加密/解密对象

cipher = Fernet(key)

# 加密

encrypted = cipher.encrypt(b'hello world')

# 解密

decrypted = cipher.decrypt(encrypted)

非对称加密函数:

from cryptography.hazmat.primitives.asymmetric import rsa, padding

from cryptography.hazmat.primitives import serialization, hashes

# 生成密钥对

private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)

public_key = private_key.public_key()

# 加密

encrypted = public_key.encrypt(b'hello world', 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))

这些加密解密函数是在Python中常用的加密解密工具。使用这些函数,可以对敏感数据进行保护,提高数据的安全性。编写代码时,应根据需求选择适当的加密算法和函数,并采取必要措施保护密钥的安全性。