Я программирую веб-сервис для загрузки длинных файлов.Клиент отправляет куски всякий раз, когда он хочет.Мне нужно вычислить хэш этого файла, пока эти куски получены.
Я видел, что вы можете сделать somenthing следующим образом:
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();
Проблема в том, что мне нужно сделатьэто с разными кусками одного и того же файла, и я не знаю, когда они придут. Мне нужно сохранить состояние вычисления хеша .