6 个版本
0.2.2 | 2024年5月16日 |
---|---|
0.2.1 | 2023年4月3日 |
0.2.0 | 2022年9月12日 |
0.1.4 | 2021年3月23日 |
0.1.0 | 2018年5月4日 |
#101 in 密码学
每月 7,948 次下载
在 10 个 包(8 个直接)中使用
26KB
453 行
fernet-rs
Rust 中芬尼特的实现。
什么是芬尼特?
芬尼特是一个小型的库,帮助您使用可选的过期时间加密数据块。它非常适合令牌或交换小字符串或数据块。芬尼特设计得易于使用,以防止错误地组合密码学原语,防止篡改,并确保令牌的真实性。如果您需要以下功能,请考虑使用芬尼特:
- 在 URL 或授权头中有限时间的认证令牌
- 使用静态密钥在两点之间发送加密数据块
- 简单加密秘密以存储到磁盘,稍后可以读取
- 更多...
太好了!如何开始?
将 fernet 添加到您的 Cargo.toml 中
[dependencies]
fernet = "0.1"
然后查看我们在线的 [API 文档],或者在您的项目中运行 "cargo doc --open"。
测试令牌过期
默认情况下,芬尼特在操作中尝试进行安全包装 - 您永远不应该能够“错误地处理它”。但我们理解有时您需要能够执行一些更复杂的操作。
这的主要例子是您的应用程序测试它如何处理已过期其 ttl 的令牌。
为了支持这一点,我们允许您向 encrypt_at_time
和 decrypt_at_time
函数传递时间戳,但这些功能位于功能门后面。要激活这些 API,您需要将以下内容添加到 Cargo.toml 中
[dependencies]
fernet = { version = "0.1", features = ["fernet_danger_timestamps"] }
依赖关系
~2.2–3.5MB
~71K SLoC