Контролната сума е резултатът от изпълнението на алгоритъм, наречен криптографска хеш функция, върху част от данните, обикновено един файл. Сравняването на контролната сума, която генерирате от вашата версия на файла, с тази, предоставена от източника на файла, помага да се гарантира, че вашето копие на файла е оригинално и без грешки.
Контролната сума също понякога се нарича хеш сума и по-рядко хеш стойност, хеш код или просто хеш.
Прост пример за контролна сума
Идеята за контролна сума или криптографска хеш функция може да изглежда сложна и да не си заслужава усилието, но бихме искали да ви убедим в противното! Контролните суми наистина не са толкова трудни за разбиране или създаване.
Нека започнем с прост пример, надяваме се да демонстрира силата на контролните суми, за да докаже, че нещо се е променило. Контролната сума MD5 за следната фраза е дълъг низ от знаци, които представляват това изречение.
Това е тест.
120EA8A25E5D487BF68B5F7096440019
За нашите цели тук, те по същество са равни помежду си. Въпреки това, извършването на дори малка промяна, като премахване само на точката, ще доведе до напълно различна контролна сума.
Това е тест
CE114E4501D2F4E2DCEA3E17B546F339
Както можете да видите, дори незначителна промяна във файла ще доведе до значително различна контролна сума, което прави много ясно, че едното не е равно на другото.
Случай на използване на контролна сума
Да приемем, че изтегляте голяма софтуерна актуализация, като сервизен пакет. Това вероятно е огромен файл, изтеглянето му отнема няколко минути или повече.
След изтегляне, как да разберете, че файлът е получен правилно? Какво ще стане, ако няколко бита са изпуснати по време на прехвърлянето и файлът, който имате на компютъра си в момента, не е точно това, което е било предвидено? Прилагането на актуализация към програма, която не е точно така, както я е създал разработчикът, вероятно ще ви създаде големи проблеми.
Тук сравняването на контролни суми може да ви успокои. Ако приемем, че уебсайтът, от който сте изтеглили файла, предоставя данните за контролната сума заедно с файла за изтегляне, тогава можете да използвате калкулатор за контролна сума (вижте „Калкулатори за контролна сума“по-долу), за да създадете контролна сума от изтегления файл.
Например, кажете, че уебсайтът предоставя контролната сума MD5:5a828ca5302b19ae8c7a66149f3e1e98 за файла, който сте изтеглили. След това използвате своя собствен калкулатор за контролна сума, за да създадете контролна сума, използвайки същата криптографска хеш функция, MD5 в този пример, във файла на вашия компютър. Съвпадат ли контролните суми? Страхотен! Можете да сте много уверени, че двата файла са идентични.
Не съвпадат ли контролните суми? Това може да означава всичко - от факта, че някой е заменил изтегленото с нещо злонамерено, без да знаете, до по-малко зловеща причина, като тази, че сте отворили и променили файла, или мрежовата връзка е била прекъсната и файлът не е завършил изтеглянето. Опитайте да изтеглите файла отново и след това създайте нова контролна сума за новия файл и след това сравнете отново.
Контролните суми също са полезни за проверка дали файл, който сте изтеглили от някъде, различен от оригиналния източник, всъщност е валиден файл и не е променен, злонамерено или по друг начин, спрямо оригинала. Просто сравнете създадения от вас хеш с този, наличен от източника на файла.
Калкулатори за контролна сума
Калкулаторите за контролни суми са инструментите, използвани за изчисляване на контролни суми. Има много от тях, всяка от които поддържа различен набор от криптографски хеш функции.
Една страхотна безплатна опция е Microsoft File Checksum Integrity Verifier, наречен накратко FCIV. Той поддържа само криптографските хеш функции MD5 и SHA-1, но те са най-популярните в момента. Вижте нашия материал за това как да проверите целостта на файла в Windows с FCIV за пълен урок. Microsoft File Checksum Integrity Verifier е програма от команден ред, но е много лесна за използване.
Можете също да използвате програмата certutil, вградена в Windows. Това също е инструмент за команден ред, но е също толкова лесно да се използва за валидиране на MD5 контролната сума на файловете. Тази статия също така описва как да направите същото на Linux с md5sum.
Друг отличен безплатен калкулатор за контролна сума за Windows е IgorWare Hasher и е напълно преносим, така че не е нужно да инсталирате нищо (но ще ви трябва програма за отваряне на RAR файлове, за да разопаковате програмата). Ако не се чувствате добре с инструментите на командния ред, този инструмент вероятно е по-добрият избор. Поддържа MD5 и SHA-1, както и CRC32. Можете да го използвате, за да намерите контролната сума на текст и файлове.
JDigest е калкулатор за контролна сума с отворен код, който работи в Windows, както и в macOS и Linux.
Тъй като не всички калкулатори за контролна сума поддържат всички възможни криптографски хеш функции, уверете се, че всеки калкулатор, който решите да използвате, поддържа хеш функцията, която е произвела контролната сума, която придружава файла, който изтегляте.
ЧЗВ
Всички контролни суми уникални ли са?
Да. Само файлове, които са идентични, ще имат една и съща контролна сума. Промяната на нещо различно от името на файла ще доведе до различна контролна сума.
Как калкулаторите за контролна сума изчисляват контролни суми?
Калкулаторите за контролна сума използват редица алгоритми, включително надлъжна проверка на паритета, контролна сума на Fletcher, Adler-32 и циклични проверки за излишък (CRC).
Как да проверя няколко контролни суми наведнъж?
Можете да получите контролната сума на няколко файла наведнъж, като използвате командата MD5. Отворете терминала и въведете md5, последвано от всяко име на файл (разделено с интервали), след което натиснете Enter.