]>
git.proxmox.com Git - proxmox-backup.git/blob - pbs-tools/src/sha.rs
7 /// Calculate the sha256sum from a readable object.
8 pub fn sha256(file
: &mut dyn Read
) -> Result
<([u8; 32], u64), Error
> {
9 let mut hasher
= openssl
::sha
::Sha256
::new();
10 let mut buffer
= proxmox
::tools
::vec
::undefined(256 * 1024);
11 let mut size
: u64 = 0;
14 let count
= match file
.read(&mut buffer
) {
17 Err(ref err
) if err
.kind() == std
::io
::ErrorKind
::Interrupted
=> {
20 Err(err
) => return Err(err
.into()),
23 hasher
.update(&buffer
[..count
]);
26 let csum
= hasher
.finish();