diff options
author | Kim Altintop <kim@eagain.io> | 2023-04-13 16:50:24 +0200 |
---|---|---|
committer | Kim Altintop <kim@eagain.io> | 2023-04-13 17:10:18 +0200 |
commit | 8ce1155a1eb490625a7e949a10c4283b4b773d30 (patch) | |
tree | 4ece9c129b032bed209df94ba520f7a3c940e310 /src/io.rs | |
parent | 607a5609f858cd707dca3a936d80a7a9539b4b5a (diff) |
core: replace bundle checksum with BLAKE3
BLAKE3 has a verified streaming mode (Bao), which allows variable chunk
sizes without altering the root hash. This means that a BLAKE3 hash can
serve as a long-term stable content address in location-independent
storage (as demonstrated by iroh).
Signed-off-by: Kim Altintop <kim@eagain.io>
Diffstat (limited to 'src/io.rs')
-rw-r--r-- | src/io.rs | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -1,10 +1,7 @@ // Copyright © 2022 Kim Altintop <kim@eagain.io> // SPDX-License-Identifier: GPL-2.0-only WITH openvpn-openssl-exception -use sha2::{ - digest::generic_array::GenericArray, - Digest, -}; +use digest::Digest; /// Created by [`Lines::until_blank`], stops iteration at the first blank line. pub struct UntilBlank<B> { @@ -94,8 +91,8 @@ impl<D, W> HashWriter<D, W> where D: Digest, { - pub fn hash(self) -> GenericArray<u8, D::OutputSize> { - self.hasher.finalize() + pub fn hasher(&self) -> &D { + &self.hasher } } |