Если и только если вы можете выбрать новый блок данных, состоящий из одного байта 0x80, определенного количества байтов 0x00 в зависимости от размера файла A и 4 байтов, содержащих битовую длину файла A, после чего следуетлюбые другие данные, которые вам нравятся, ДА.
Это называется Атака на расширение длины и является криптографической слабостью всех хэшей, использующих конструкцию Меркле-Дамгарда , которая включает MD5 SHA1 и семейство SHA-2, но не семейство SHA-3.Это на самом деле не вопрос программирования и больше подходит для crypto.SX, где уже есть немало вопросов, таких как https://crypto.stackexchange.com/questions/17733/sha1-multipart-calculation и https://crypto.stackexchange.com/questions/3978/understanding-the-length-extension-attack
Однако, если вы сохранить обычно внутреннее состояние хеша с последнего полного блока перед концом данных, восстановить его и возобновить «обновление», добавляя (неограниченные) новые данные, так как я считаю, что другие ответы более или менее предназначеныВы можете вычислить новый хеш (и новое сохраненное состояние, если хотите повторить этот процесс). Если и как получить доступ к этому состоянию и как именно оно должно быть представлено, зависит от используемой вами реализации. Вы пометили Java, хотя ваш фактический Q не упоминает об этом;Выполнение этого с использованием крипто-Java предоставляет (JCA) было бы очень сложно, потому что JCA намеренно скрывает детали всех поддерживаемых алгоритмов за серией упрощенных абстрагированных классов фасадов.OTOH, если вы (пере) кодируете эти хеши самостоятельно, доступ к внутреннему состоянию может быть довольно простым.И если вы используете «легковесные» реализации BouncyCastle, то, вероятно, не очень сложно, хотя, возможно, есть риск, что они изменят реализацию, но мне придется посмотреть подробнее.Хранение и извлечение может быть или не быть проблемой.