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 密码学

Download history 1592/week @ 2024-05-01 1406/week @ 2024-05-08 1672/week @ 2024-05-15 1662/week @ 2024-05-22 1662/week @ 2024-05-29 2351/week @ 2024-06-05 1553/week @ 2024-06-12 1637/week @ 2024-06-19 1396/week @ 2024-06-26 1688/week @ 2024-07-03 1754/week @ 2024-07-10 1734/week @ 2024-07-17 2495/week @ 2024-07-24 1513/week @ 2024-07-31 1948/week @ 2024-08-07 1659/week @ 2024-08-14

每月 7,948 次下载
10 包(8 个直接)中使用

MPL-2.0 许可证

26KB
453

fernet-rs

dependency status

Rust 中芬尼特的实现。

什么是芬尼特?

芬尼特是一个小型的库,帮助您使用可选的过期时间加密数据块。它非常适合令牌或交换小字符串或数据块。芬尼特设计得易于使用,以防止错误地组合密码学原语,防止篡改,并确保令牌的真实性。如果您需要以下功能,请考虑使用芬尼特:

  • 在 URL 或授权头中有限时间的认证令牌
  • 使用静态密钥在两点之间发送加密数据块
  • 简单加密秘密以存储到磁盘,稍后可以读取
  • 更多...

太好了!如何开始?

将 fernet 添加到您的 Cargo.toml 中

[dependencies]
fernet = "0.1"

然后查看我们在线的 [API 文档],或者在您的项目中运行 "cargo doc --open"。

测试令牌过期

默认情况下,芬尼特在操作中尝试进行安全包装 - 您永远不应该能够“错误地处理它”。但我们理解有时您需要能够执行一些更复杂的操作。

这的主要例子是您的应用程序测试它如何处理已过期其 ttl 的令牌。

为了支持这一点,我们允许您向 encrypt_at_timedecrypt_at_time 函数传递时间戳,但这些功能位于功能门后面。要激活这些 API,您需要将以下内容添加到 Cargo.toml 中

[dependencies]
fernet = { version = "0.1", features = ["fernet_danger_timestamps"] }

依赖关系

~2.2–3.5MB
~71K SLoC