If-Koubou

Какво е Checksum (и защо трябва да се грижите за него)?

Какво е Checksum (и защо трябва да се грижите за него)? (Как да)

Контролната сума е последователност от номера и букви, използвани за проверка на данни за грешки. Ако знаете контролната сума на оригиналния файл, можете да използвате помощна програма за проверка, за да потвърдите, че копието ви е идентично.

Контролните суми са обяснени

За да създадете контролна сума, изпълнявате програма, която поставя този файл чрез алгоритъм. Типичните алгоритми, използвани за това, включват MD5, SHA-1, SHA-256 и SHA-512.

Алгоритъмът използва криптографска хеш функция, която взима вход и произвежда низ (последователност от числа и букви) с фиксирана дължина. Входният файл може да бъде малък файл с 1 MB или масивен файл от 4 GB, но по един или друг начин ще завършите с контролна сума със същата дължина. Контролните суми могат да се наричат ​​"хеш".

Малките промени във файла създават много различни изглеждащи контролни суми. Например, създадохме два различни текстови файла, които са почти еднакви, но един има удивителен знак, когато другият има период. След като работехме с Windows 10 на вградената контролна памет, видяхме много различни контролни суми. Разликата между отделните знаци в основния файл води до много различен изглеждащ контролен сума.

Когато контролните суми са полезни

Можете да използвате контролни суми, за да проверявате файловете и другите данни за грешки, които възникват по време на предаване или съхранение. Например, файлът може да не е изтекъл правилно поради проблеми с мрежата, а проблемите с твърдия диск може да са причинили повреда в файл на диск.

Ако знаете контролната сума на оригиналния файл, можете да пуснете контролна сума или помощна програма за хеширане. Ако получената контролна сума съвпада, знаете, че файлът, който имате, е идентичен.

Компютрите използват техники на счетоводна проверка, за да проверят данните за проблемите във фонов режим, но вие също можете да го направите сами. Например, Linux дистрибуциите често осигуряват контролни суми, за да можете да проверите правилно вашия Linux ISO, преди да го запишете на диск или да го поставите на USB устройство. Можете също така да използвате контролни суми, за да проверите целостта на всеки друг вид файл, от приложения до документи и медии. Трябва само да знаете контролната сума на оригиналния файл.

Каква е разликата между сумите MD5, SHA-1 и SHA-256?

Контролните суми са полезен начин да се гарантира, че даден файл няма грешка. Ако възникне произволна грешка поради проблеми с изтеглянето или проблеми с твърдия диск, получената контролна сума ще бъде различна, дори ако това е само малка грешка.

Тези криптографски хеш функции обаче не са идеални. Изследователите по сигурността откриха "сблъсъци" с функциите MD5 и SHA-1. С други думи, те са открили два различни файла, които произвеждат един и същ MD5 или SHA-1 хеш, но са различни.

Това е малко вероятно да се случи чрез случаен шанс, но нападателят може да използва тази техника, за да прикрие злонамерен файл като легитимен файл. Ето защо не трябва да разчитате на MD5 или SHA-1 суми, за да проверите дали даден файл е автентичен - само за да проверите корупцията.

Все още няма сведения за сблъсък SHA-256, поради което приложенията сега създават SHA-256 суми вместо суми MD5 и SHA-1 суми. SHA-256 е по-силен, по-сигурен алгоритъм.

Различните алгоритми на контролната сума генерират различни резултати. Файлът ще има различни контролни суми MD5, SHA-1 и SHA-256. Ако знаете само MD5 сумата на оригиналния файл, трябва да изчислите сумата MD5 на копието си, за да проверите дали е съвпадение.

Как да изчислите контролните суми

Ако знаете контролната сума на оригиналния файл и искате да го проверите на компютъра си, можете да го направите лесно. Windows, MacOS и Linux имат вградени помощни програми за генериране на контролни суми. Нямате нужда от помощни програми на трети страни.

На Windows, PowerShell's Get-FileHash командата изчислява контролната сума на файл. За да го използвате, първо отворете PowerShell. В Windows 10 кликнете с десния бутон на мишката върху бутона "Старт" и изберете "Windows PowerShell". Можете също така да го стартирате, като потърсите меню "Старт" за "PowerShell" и щракнете върху прекия път "Windows PowerShell".

По подразбиране въведете Get-FileHash и след това натиснете си пространство бар.

Въведете пътя на файла, за който искате да изчислите контролната сума. Или, за да направите нещата по-лесни, плъзнете и пуснете файла от прозореца File Explorer в прозореца PowerShell, за да го запълнете автоматично.

Натиснете Enter, за да изпълните командата и ще видите SHA-256 хеш за файла. В зависимост от размера на файла и скоростта на съхранение на компютъра процесът може да отнеме няколко секунди.

Ако имате нужда от друг тип контролна сума, добавете подходящия -Algorithm опция до края на командата, както е така:

Get-FileHash C: \ път \ към \ file.iso - алгоритъм MD5
Get-FileHash C: \ path \ to \ file.iso -Алгоритъм SHA1

Сравнете изчислената контролна сума с оригиналната. Не би трябвало да изглеждате твърде близо, тъй като ще има огромна разлика в контролната сума, дори ако има малка разлика в основния файл.

Ако контролната сума съвпадне, файловете са идентични. Ако не, има проблем - може би файлът е повреден или просто сравнявате два различни файла. Ако сте изтеглили копие на файла и неговата контролна сума не съвпада с онова, което очаквате, опитайте да изтеглите файла отново.