Wykrywanie korupcji nie jest całkowicie poprawne. Ustalenie integralności oprogramowania byłoby bardziej poprawnym użyciem. Zwykle oprogramowanie nie jest dystrybuowane z jednego serwera. To samo oprogramowanie może być dystrybuowane z wielu serwerów. Kiedy więc pobierasz określone oprogramowanie, jako źródło pobierania wybierany jest serwer najbliżej miejsca docelowego, aby zwiększyć prędkość pobierania. Jednak nie zawsze można ufać tym „nieoficjalnym” serwerom (stronom trzecim). Mogą / mogą zawierać trojany / wirusy / adware / backdoory w programie, co nie jest dobre .
Aby więc upewnić się, że pobrane oprogramowanie jest dokładnie takie samo jak oprogramowanie „oficjalne” wydane przez daną organizację, używana jest suma kontrolna. Algorytmy używane do generowania sum kontrolnych są takie, że nawet niewielka zmiana w programie skutkuje zupełnie inną sumą kontrolną.
Przykład zaczerpnięty z Practical Unix i Internet Security
MD5 (w niebieskim polu jest 1500 $) = 05f8cfc03f4e58cbee731aa4a14b3f03
MD5 (w niebieskim polu jest 1100 $) = d6dee11aae89661a45eb9d21e30d34cb
Wiadomości, które różnią się tylko jednym znakiem (i w obrębie tego znaku tylko jednym bitem binarnym), mają zupełnie inne skróty wiadomości.
Jeśli pobrany plik ma taką samą sumę kontrolną jak suma kontrolna podana na „oficjalnej” stronie internetowej, można założyć, że oprogramowanie nie jest modyfikowane.
Uwaga dodatkowa: Teoretycznie dwa różne pliki MOGĄ mieć tę samą wartość skrótu. Aby algorytm skrótu / sumy kontrolnej mógł zostać uznany za bezpieczny, znalezienie innego pliku, który generuje tę samą sumę kontrolną, powinno być bardzo drogie obliczeniowo.