gpt4 book ai didi

Java可恢复哈希计算

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:53:37 24 4
gpt4 key购买 nike

我想实现在服务器上上传的某些文件的可恢复的即时哈希生成。这些文件很大,所以我正在使用 MessageDigest 类的 update(byte[]) 方法(如此处所述,例如:How can I generate an MD5 hash?),因为新字节来自 HttpServletRequest 的 InputStream。

一切顺利,但是,当我想添加可恢复上传支持时,它变得很有趣。如果上传提前终止,不完整的文件将存储在磁盘上。但是, Controller (和底层服务)退出,因此 MessageDigest 对象丢失。在此之前,我可以将 MessageDigest 对象序列化到磁盘(或数据库,这无关紧要),当我再次反序列化对象时,它会记住它的临时状态,所以当我恢复上传时(从确切的之前终止的地方,所以没有字节是多余的,也没有丢失一些字节)并继续更新()反序列化的 MessageDigest,最终我得到相同的结果(哈希),就好像文件是一次性上传的一样?

最佳答案

获取自定义 MD5 实现之一,如 this onethis one .使其可序列化或仅将其内部状态公开。上传中止时保留状态,并在恢复上传时恢复。

关于Java可恢复哈希计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757676/

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