我正在编程一个用于上传长文件的Web服务。客户端在需要时发送块。在接收这些大块时,我需要计算该文件的哈希值。
我已经看到你可以做这样的事情:
byte[] buf = new byte[8192];
MessageDigest sha = MessageDigest.getInstance("SHA1");
FileInputStream inp = new FileInputStream(new File("D:\\season4_mlp.rar"));
int n;
while((n = inp.read(buf)) > 0)
sha.update(buf, 0, n);
byte hash[] = sha.digest();
问题是我需要对同一文件的不同块执行此操作,但我不知道它们何时会出现。 我需要保持此哈希计算的状态。