1 个不稳定版本

0.1.0 2024年2月17日

#2280算法

Download history 30/week @ 2024-04-05 39/week @ 2024-04-12 35/week @ 2024-04-19 32/week @ 2024-04-26 20/week @ 2024-05-03 15/week @ 2024-05-10 33/week @ 2024-05-17 40/week @ 2024-05-24 48/week @ 2024-05-31 37/week @ 2024-06-07 31/week @ 2024-06-14 20/week @ 2024-06-21 21/week @ 2024-06-28 28/week @ 2024-07-05 28/week @ 2024-07-12 21/week @ 2024-07-19

每月105 次下载

Apache-2.0

32KB
605

ssri2

ssri2,即标准子资源完整性,是一个用于解析、操作、序列化、生成和验证 子资源完整性 哈希的 Rust 库。

示例

将字符串解析为 Integrity 转换为结构体

use ssri2::Integrity;

let source = "sha256-uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=";

let parsed: Integrity = source.parse().unwrap();
assert_eq!(parsed.to_string(), source)

从文件数据生成新的哈希值

use ssri2::Integrity;

// By default, generates Integrity as Sha256.
// Use IntegrityOpts to pick the algorithm yourself.
let sri = Integrity::from(b"hello world");
assert_eq!(sri.to_string(), "sha256-uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=");

对数据进行 SRI 验证

use ssri2::{Integrity, Algorithm};

let sri = Integrity::from(b"hello world");
assert_eq!(sri.check(b"hello world").unwrap(), Algorithm::Sha256);

您还可以使用 IntegrityOptsIntegrityChecker 分别生成和检查子资源完整性。这些允许多算法和增量/流式数据输入。

文档

功能

  • 解析和字符串化 子资源完整性 字符串。
  • 从原始数据生成 SRI 字符串。
  • 严格遵守标准。
  • 同一算法的多个条目。

许可证

本项目采用 Apache-2.0 许可证

依赖关系

~1.1–1.8MB
~40K SLoC