从 YAML 文件读取 Fernet 加密密钥时,由于 YAML 库的默认行为,密钥通常会被表示为二进制数据。这在使用密钥进行解密操作时可能会导致问题,因为 Fernet 通常需要字符串格式的密钥。为了解决这个问题,我们需要将从 YAML 文件读取的二进制密钥转换回字符串格式。
以下是一种实现方法,结合了 YAML 读取和 Base64 解码:
import yaml import base64 # 从 YAML 文件读取数据 with open("credentials.yml", 'r') as file: yaml_data = yaml.safe_load(file) # 推荐使用 safe_load 避免潜在的安全风险 # 获取二进制格式的加密密钥 binary_key = yaml_data['encryption_key'] # 使用 Base64 解码将二进制密钥转换为字符串 string_key = base64.b64encode(binary_key).decode('utf-8') # 现在 string_key 包含了字符串格式的加密密钥 print(string_key)
代码解释:
注意事项:
总结:
通过使用 base64 模块,我们可以轻松地将从 YAML 文件中读取的二进制格式的 Fernet 加密密钥转换为字符串格式,从而方便后续的解密操作。记住,安全性至关重要,请务必妥善保管您的加密密钥。
以上就是从 YAML 文件读取 Fernet 加密密钥并转换为字符串的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号