1 个不稳定版本
0.1.0 | 2024年2月17日 |
---|
#2280 在 算法
每月105 次下载
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);
您还可以使用 IntegrityOpts
和 IntegrityChecker
分别生成和检查子资源完整性。这些允许多算法和增量/流式数据输入。
文档
功能
- 解析和字符串化 子资源完整性 字符串。
- 从原始数据生成 SRI 字符串。
- 严格遵守标准。
- 同一算法的多个条目。
许可证
本项目采用 Apache-2.0 许可证。
依赖关系
~1.1–1.8MB
~40K SLoC