File Hash

v0.1.02026年9月26日 に追加サンプルデータ

BLAKE3 と SHA-256 によるストリーミングハッシュ。ファイルの改ざん確認や、データセット内の完全一致の重複検出に使えます。

サンプルデータです。この数値は仮のもので、実測ではありません。

cargo install kura-rs
kura add file-hash

ソースファイルを自分のプロジェクトにコピーします。以後、コードはあなたのものです。

別のツールの kura コマンドとぶつかる場合は、cargo install kura-rs --bin kura-rs で入れて kura-rs add を使ってください。

use crate::parts::file_hash::{hash_file, Algorithm};

let digest = hash_file(Algorithm::Blake3, "model.safetensors")?;
println!("{digest}");

検証

サンプルデータ

hashlib 3.12(Python)と期待値ファイルとの比較で比較しました。同じ入力を両方の実装に与え、出力を突き合わせています。

参照実装
hashlib
Python 3.12
テストケース
800
期待値ファイルとの比較
成功
800 / 800
すべて一致
最終実行
2026年9月26日
UTC

この数値は仮のものです。 まだ計測していないため、実際の結果として読まないでください。この部品のレジストリファイルには "sample": true が付いています。

ベンチマーク

サンプルデータ

入力サイズごとに kura-rs(Rust)と hashlib を比べています。 計測したすべての入力サイズで速い。最大 5.7× 速い。

この数値は仮のものです。 まだ計測していないため、実際の結果として読まないでください。この部品のレジストリファイルには "sample": true が付いています。

kura-rs (Rust)hashlib
1回あたりの処理時間(短いほど良い)。
数値の表を見る
入力サイズkura-rs (Rust)hashlib倍率
1,0240 ms0.01 ms1.5×
65,5360.03 ms0.11 ms3.7×
1,048,5760.31 ms1.6 ms5.2×
16,777,2164.6 ms26 ms5.7×
268,435,45672 ms410 ms5.7×

ファイル

  • parts/file_hash/mod.rs

依存する crate