Хэш файла: меняется ли он для того же контента, но в другом порядке? - PullRequest
1 голос
/ 03 апреля 2010

Допустим, есть файл с именем myfile.txt со следующим содержимым:

один два три

Другой файл с именем yourfile.txt со следующим содержимым:

два три один

Будет ли хеш SHA-1 одинаковым для обоих этих файлов, поскольку содержимое одинаковое, но в разном порядке?

Ответы [ 4 ]

3 голосов
/ 03 апреля 2010

Нет, все будет иначе. Большинство хороших алгоритмов хеширования общего назначения учитывают порядок. О единственно часто используемых хеш-функциях, которые не являются простыми контрольными суммами.

2 голосов
/ 03 апреля 2010

Нет, все будет иначе. Хеши, как правило, работают итеративно на протяжении серии байтов

Конечно, вы можете просто попробовать;)

1 голос
/ 03 апреля 2010

«Криптографические» хэши предназначены для обнаружения изменений, таких как транспонирование, в противном случае кто-то может принять электронное платежное сообщение и изменить сумму в 1900,00 долларов США на 9100,00 долларов США без обнаружения (в любом случае хешем), что отчасти побеждает цель.

1 голос
/ 03 апреля 2010

Зависит от алгоритма хеширования. Я могу создать один прямо сейчас, который возвращает два одинаковых хэша для обоих файлов.

Но поскольку вы специально спрашивали о SHA-1, тогда да, они будут совершенно другими.

    SHA1("one two three") = a10600b129253b1aaaa860778bef2043ee40c715
    SHA1("two three one") = 5b836799b259835e762c93964a68b958eb19461a
...