5 unstable releases
0.3.1 | Jan 5, 2022 |
---|---|
0.3.0 | Jan 5, 2022 |
0.2.1 | Dec 21, 2021 |
0.2.0 | Dec 21, 2021 |
0.1.0 | Dec 20, 2021 |
#598 in Cryptography
173 downloads per month
Used in 10 crates
(6 directly)
10KB
248 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
of data that 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>
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
~1MB
~26K SLoC