gpt4 book ai didi

file - 如何在 Rust 中异步计算硬盘上文件的校验和?

转载 作者:行者123 更新时间:2023-11-29 08:35:38 26 4
gpt4 key购买 nike

我在 Rust/Tokio 堆栈中有一个 TCP 文件服务器。

当客户端上传文件时,数据从 tokio::net::TcpStream 中读取并写入 futures_fs::FsWriteSink,它具有在单独的 futures_fs::FsPool 上启动。

当文件完全上传后,我需要通过检查其校验和与客户端发送的校验和来检查其一致性。

异步计算校验和的最简单方法是什么,尤其是当文件不适合 RAM 时?

最佳答案

这取决于您要使用的校验和算法,但使用 md5 crate例如,您可以即时计算校验和。应该这样做:

// When starting the file transfer
let mut md5_context = md5::Context::new();

// ...

// as part of your existing processing for each block of data
md5_context.consume (&block);

// ...

// once the last block has been processed
return md5_context.compute();

关于file - 如何在 Rust 中异步计算硬盘上文件的校验和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com