Есть ли какие-нибудь алгоритмы, с помощью которых вы можете продолжить хеширование из известного хеш-дайджеста? Например, клиент загружает фрагмент файла на ServerA, я могу получить сумму md5
загруженного содержимого, затем клиент загружает остальную часть фрагмента файла на ServerB, могу ли я передать состояние md5
внутренности на ServerB и завершение хеширования?
Был классный хак с черной магией на основе md5, который я нашел несколько лет назад на comp.lang.python, но он использует ctypes
для конкретной версии md5.so
или _md5.dll
, так что это не совсем переносимый код для разных версий интерпретатора Python или других языков программирования. Кроме, модуль md5
устарел в стандартной библиотеке Python с версии 2.5, поэтому мне нужно найти более общее решение.
Более того, может ли состояние хеширования быть сохранено в шестнадцатеричном формате переваривать сам? (Так что я могу продолжить хеширование потока данных с существующим хеш-дайджестом, а не с грязным внутренним взломом.)