Собственно напрашивается таблица в виде
"полное имя файла"
"CRC"
"MD5"
и если задача не запрещает sql - то файлы-клоны отлично будут найдены как
select * from table where MD5 in (
select MD5 from table group by MD5 having count(*)>1
)
order by MD5
MD5 можно заменить на CRC32 или даже скомбинировать их как MD5+CRC32 - вероятность одновременной коллизии и в CRC32 и MD5 получится как произведение вероятностей коллизии для каждого из алгоритмов - этого скорее всего хватит для военно-космической приемки -)