Если вам нужно вычислять MD5 файлов каждый раз, когда вы делаете это, вы можете просто проверить, что длины одинаковы, а затем сравнить их побайтно.Вычисление MD5 (или любого другого хэша) означает в любом случае прогон всего файла.
Псевдокод:
bool filesAreSame(file1, file2) {
if (file1.length != file2.length) return false;
for (int i=0;i<file1.length;i++) {
if (file1[i] != file2[i]) return false;
}
return true;
}