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

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加密算法等。不同的算法适用于不同的场景,可以根据实际需求选择合适的函数进行加密和解密操作。