Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 加密

作者:Xn﹏仍嘫佷痌   发布日期:2026-05-17   浏览:120

# 使用Python进行加密的示例代码

# 导入所需的库
from cryptography.fernet import Fernet

# 生成密钥
def generate_key():
    # Fernet.generate_key() 生成一个密钥,并返回字节类型
    key = Fernet.generate_key()
    # 将密钥保存到文件中
    with open("secret.key", "wb") as key_file:
        key_file.write(key)

# 加载密钥
def load_key():
    # 从文件中读取密钥
    return open("secret.key", "rb").read()

# 加密消息
def encrypt_message(message):
    # 加载密钥
    key = load_key()
    # 使用Fernet创建一个加密对象
    fernet = Fernet(key)
    # 对消息进行加密,消息必须是字节类型
    encrypted_message = fernet.encrypt(message.encode())
    # 返回加密后的消息
    return encrypted_message

# 解密消息
def decrypt_message(encrypted_message):
    # 加载密钥
    key = load_key()
    # 使用Fernet创建一个解密对象
    fernet = Fernet(key)
    # 对消息进行解密
    decrypted_message = fernet.decrypt(encrypted_message)
    # 返回解密后的消息,并解码为字符串
    return decrypted_message.decode()

# 示例用法
if __name__ == "__main__":
    # 生成并保存密钥
    generate_key()

    # 要加密的消息
    message = "这是一个需要加密的消息"

    # 加密消息
    encrypted = encrypt_message(message)
    print(f"加密后的消息: {encrypted}")

    # 解密消息
    decrypted = decrypt_message(encrypted)
    print(f"解密后的消息: {decrypted}")

解释说明:

  1. 生成密钥:使用 Fernet.generate_key() 生成一个密钥,并将其保存到文件 secret.key 中。
  2. 加载密钥:从文件中读取密钥,以便用于加密和解密操作。
  3. 加密消息:使用 Fernet 对象对消息进行加密。消息必须是字节类型,因此我们使用 message.encode() 将字符串转换为字节。
  4. 解密消息:使用相同的密钥和 Fernet 对象对加密后的消息进行解密,并将结果解码为字符串。
  5. 示例用法:演示了如何生成密钥、加密消息以及解密消息。

如果你有任何问题或需要进一步的帮助,请告诉我!

上一篇:python数组的基本操作

下一篇:pythoncsv文件的操作

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站