Fernet加密对象知识点整理

1. 基本概念

  • Fernetcryptography 库提供的对称加密方案
  • 确保数据的机密性和完整性
  • 使用相同的密钥进行加密和解密

2. 工作原理

  • 基于AES 128加密算法
  • 使用HMAC进行消息认证
  • 自动处理加密过程中的初始化向量(IV)
  • 生成的密文包含时间戳,可防止重放攻击

3. 核心方法

  • encrypt(data): 加密数据,返回字节串
  • decrypt(token): 解密数据,返回原始数据

4. 密钥生成过程(如代码所示)

# 使用PBKDF2从密码派生密钥
salt = b'securekv_default_salt_2025'  # 盐值
kdf = PBKDF2HMAC(
    algorithm=hashes.SHA256(),        # 哈希算法
    length=32,                        # 密钥长度(字节)
    salt=salt,                        # 盐值
    iterations=100_000,               # 迭代次数
)
key = base64.urlsafe_b64encode(kdf.derive(password.encode()))
cipher = Fernet(key)

5. 主要优势

  • 简单易用: 封装复杂细节,API简洁
  • 安全性高: 提供认证加密,防止篡改
  • 无状态: 不需要维护加密状态
  • 标准化: 基于已建立的加密标准

6. 注意事项

  • salt固定问题: 当前实现使用固定salt,生产环境应随机生成
  • 密钥管理: 需要安全地存储和管理密钥
  • 密码强度: 用户密码应足够复杂以确保安全性

7. 使用场景

  • 敏感数据的本地存储加密
  • 配置文件加密
  • 会话数据保护
  • API令牌等临时凭证的加密存储
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值