Возможно, вы захотите взглянуть на исходный код для таких утилит Unix, как cmp
или FileCmp
в Python, и использовать это, чтобы попытаться определить разумный алгоритм.
По моему неосведомленному мнению, вычисление хеша вряд ли будет работать хорошо.Во-первых, вычислять хеш может быть дорогоВо-вторых, то, что вы пытаетесь сделать, больше похоже на работу по кодированию, чем на хеш;как только вы начнете думать об этом таким образом, не ясно, что даже стоит преобразовать файл таким образом.
Если у вас есть некоторые ограничения, их определение может быть полезным.Например, если все файлы имеют одинаковую длину, это может упростить ситуацию.Или, если вас интересуют только различия между битами в одной и той же позиции, и вы не интересуетесь вещами, которые похожи, только если вы сравниваете биты в разных позициях (например, два файла идентичны, за исключением того, что в одном все смещено на три бита - еслисчитаться похожим или не похожим?).