#serialization #digest #serde #hashing #structures

no-std hashing-serializer

Serialize serde-implementing structures directly into a hash

2 releases

0.1.1 Jun 12, 2024
0.1.0 Jun 12, 2024

#101 in No standard library

Download history 201/week @ 2024-06-09 41/week @ 2024-06-16

242 downloads per month

MIT license

15KB
358 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 rand_core::OsRng;
use serde::Serialize;
use sha2::Sha256;

use hashing_serializer::HashSerializer;

let sk = SigningKey::random(&mut OsRng);
let vk = sk.verifying_key();

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

Dependencies

~370–670KB
~16K SLoC