Виявити корупцію не зовсім коректно. Для перевірки цілісності програмного забезпечення було б більш правильним використанням. Зазвичай програмне забезпечення не поширюється з одного сервера. Одне програмне забезпечення може поширюватися з багатьох серверів. Отже, коли ви завантажуєте певне програмне забезпечення, для збільшення швидкості завантаження вибирається найближчий до вашого пункту призначення сервер. Однак цим "неофіційним" (стороннім) серверам не завжди можна довіряти. Вони можуть / можуть включати в програму троянів / вірусів / рекламного ПЗ /, що не годиться .
Щоб переконатися, що завантажене програмне забезпечення точно таке ж, як у «офіційного» програмного забезпечення, випущеного відповідною організацією, використовується контрольна сума. Алгоритми, що використовуються для генерації контрольних сум, такі, що навіть незначна зміна програми призводить до зовсім іншої контрольної суми.
Приклад взято з Практичного Unix та Інтернет-безпеки
MD5 (у синьому полі є 1500 доларів.) = 05f8cfc03f4e58cbee731aa4a14b3f03
MD5 (у синьому полі є 1100 доларів.) = D6dee11aae89661a45eb9d21e30d34cb
Повідомлення, які відрізняються лише одним символом (а всередині цього символу - лише одним бінарним бітом), мають абсолютно різні дайджести повідомлень.
Якщо завантажений файл має ту саму контрольну суму, що і контрольна сума, наведена на "офіційному" веб-сайті, програмне забезпечення можна вважати таким, що не змінюється.
Бічна примітка: теоретично два різні файли МОЖУТЬ мати однакове хеш-значення. Щоб алгоритм хеш-контрольної суми вважався безпечним, обчислювально слід дуже дорого знайти інший файл, який створює ту саму контрольну суму.