mroczect/librsodium
GitHub: mroczect/librsodium
对 libsodium-rs 的 Rust 封装库,提供统一的 JSON 就绪响应类型与严格输入验证,使加密原语调用更安全、更不易误用。
Stars: 0 | Forks: 0
# librsodium
一个安全、简单且一致的 [libsodium-rs](https://github.com/jedisct1/libsodium-rs) crate Rust 封装。
`librsodium` 为 libsodium 提供的所有加密原语暴露了简洁且可直接序列化为 JSON 的 API,使其更易于使用且更不易被误用。
## 为什么需要封装?
`libsodium-rs` 已经为 C 语言的 libsodium 库提供了出色的绑定。
然而,其 API 属于底层,需要手动进行错误处理、内存管理和类型转换。
`librsodium` 增加了:
- **统一的响应类型** – 每个函数都返回包含 `success`、`data` 和 `error` 字段的 `LibrsodiumResponse`。调用 `.to_json()` 即可实现即时的 JSON 序列化。
- **严格的输入验证** – 无效的大小、空的缓冲区或超出范围的值会被立即拒绝,并返回机器可读的错误代码。
- **一致的命名** – 所有函数都遵循可预测的命名方案。
- **完整的测试覆盖率** – 每个函数都针对成功和错误路径进行了测试。
- **用户代码中零 unsafe** – 该封装在内部使用 `libsodium-rs`,因此您完全不需要接触 `unsafe`。
## 许可证
该项目采用 [MIT 许可证](LICENSE)授权。
## 致谢
`librsodium` 建立在 Frank Denis 及其贡献者开发的优秀 [libsodium-rs](https://github.com/jedisct1/libsodium-rs) 绑定之上。
## 状态
**该项目仍在开发中**
标签:JSON, libsodium, Rust, 加密库, 可视化界面, 封装库, 网络流量审计, 通知系统