11 releases
0.5.4 | Aug 13, 2024 |
---|---|
0.5.3 | Dec 20, 2023 |
0.5.2 | Nov 6, 2023 |
0.5.0 | Jul 3, 2023 |
0.2.1 | Dec 21, 2021 |
#437 in Cryptography
340 downloads per month
Used in 19 crates
(11 directly)
12KB
287 lines
async-hash
A Rust library for SHA256 hashing of data structures which only support async access
lib.rs
:
Provides traits Hash
, HashStream
, and HashTryStream
for SHA-2 hashing data
which must be accessed asynchronously, e.g. a Stream
or database table.
Hash
is implemented for standard Rust types:
- Primitive types:
- bool
- i8, i16, i32, i64, i128, isize
- u8, u16, u32, u64, u128, usize
- f32, f64
- &str
- String
- Common standard library types:
- Option<T>
- PhantomData<T>
- Compound types:
- [T; 0] through [T; 32]
- tuples up to size 16
- Collection types:
- BTreeMap<K, V>
- BTreeSet<T>
- BinaryHeap<T>
- LinkedList<T>
- VecDeque<T>
- Vec<T>
- Other types:
- SmallVec<V> (requires the
smallvec
feature flag)
- SmallVec<V> (requires the
IMPORTANT: hashing is order-dependent. Do not implement the traits in this crate for
any data structure which does not have a consistent order. Consider using the collate
crate
if you need to use a type which does not implement [Ord
].
Dependencies
~1–1.4MB
~28K SLoC