云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

python程序如何加密

加密是一种保护数据安全的重要手段,它可以防止未经授权的人员访问和篡改数据,在Python中,我们可以使用多种方法对数据进行加密,例如对称加密、非对称加密和哈希加密等,本文将详细介绍如何使用Python实现这些加密方法。

(图片来源网络,侵删)

1、对称加密

对称加密是指加密和解密使用相同密钥的加密算法,在Python中,我们可以使用cryptography库来实现对称加密,我们需要安装这个库:

pip install cryptography

接下来,我们可以使用Fernet算法(对称加密的一种)对数据进行加密和解密:

from cryptography.fernet import Fernet
生成密钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
加密数据
data = "需要加密的数据".encode("utf8")
encrypted_data = cipher_suite.encrypt(data)
print("加密后的数据:", encrypted_data)
解密数据
decrypted_data = cipher_suite.decrypt(encrypted_data)
print("解密后的数据:", decrypted_data.decode("utf8"))

2、非对称加密

非对称加密是指加密和解密使用不同密钥的加密算法,在Python中,我们可以使用cryptography库来实现非对称加密,我们需要安装这个库:

pip install cryptography

接下来,我们可以使用RSA算法(非对称加密的一种)对数据进行加密和解密:

from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.backends import default_backend
import base64
生成密钥对
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048, backend=default_backend())
public_key = private_key.public_key()
pem = public_key.public_bytes(encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo)
加密数据
data = "需要加密的数据".encode("utf8")
encrypted_data = public_key.encrypt(data, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None))
print("加密后的数据:", base64.b64encode(encrypted_data).decode("utf8"))
解密数据
decrypted_data = private_key.decrypt(encrypted_data, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None))
print("解密后的数据:", decrypted_data.decode("utf8"))

3、哈希加密

哈希加密是一种不可逆的加密方法,它将任意长度的数据映射为固定长度的输出,在Python中,我们可以使用hashlib库来实现哈希加密,我们需要安装这个库:

pip install hashlib

接下来,我们可以使用SHA256算法(哈希加密的一种)对数据进行哈希:

import hashlib
哈希数据
data = "需要哈希的数据".encode("utf8")
hash_object = hashlib.sha256(data)
hex_dig = hash_object.hexdigest()
print("哈希后的数据:", hex_dig)

在Python中,我们可以使用对称加密、非对称加密和哈希加密等多种方法对数据进行加密,通过学习这些方法,我们可以更好地保护我们的数据安全。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《python程序如何加密》
文章链接:https://www.yunzhuji.net/jishujiaocheng/44067.html

评论

  • 验证码