#hashing #serialization #structures #digest #serde #sha-256

no-std hashing-serializer

Serialize serde-implementing structures directly into a hash

4 releases

0.2.0 Apr 2, 2026
0.2.0-pre.0 Aug 1, 2024
0.1.1 Jun 12, 2024
0.1.0 Jun 12, 2024

#299 in No standard library

Download history 153/week @ 2026-01-01 430/week @ 2026-01-08 422/week @ 2026-01-15 150/week @ 2026-01-22 299/week @ 2026-01-29 317/week @ 2026-02-05 193/week @ 2026-02-12 176/week @ 2026-02-19 413/week @ 2026-02-26 486/week @ 2026-03-05 519/week @ 2026-03-12 600/week @ 2026-03-19 1008/week @ 2026-03-26 994/week @ 2026-04-02 484/week @ 2026-04-09 876/week @ 2026-04-16

3,469 downloads per month
Used in 13 crates (via synedrion)

MIT license

15KB
335 lines

crate Docs License Coverage

An implementation of serde::Serializer serializing directly into a hash digest (anything implementing digest::Update).

use digest::Digest;
use k256::ecdsa::SigningKey;
use serde::Serialize;
use sha2::Sha256;

use hashing_serializer::HashingSerializer;

let sk = SigningKey::from_slice(&[1u8; 32]).unwrap();
let vk = sk.verifying_key();

let mut digest = Sha256::new();
let serializer = HashingSerializer { digest: &mut digest };
vk.serialize(serializer).unwrap();

Dependencies

~0.7–1MB
~25K SLoC