Thanks to visit codestin.com
Credit goes to lib.rs

#sha-256 #async #hash

async-hash

Traits and helper functions for SHA256 hashing of async data types

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

#559 in Cryptography

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

4,162 downloads per month
Used in 22 crates (12 directly)

Apache-2.0

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)

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.2–1.7MB
~36K SLoC