每個檔案都可以用 MD5 驗證程式算出一個固定的 MD5 碼來。軟體作者往往會事先計算出他的程式的 MD5 碼並帖在網上。因此,在網上看到某個程式下載旁註明了 MD5 碼時,可以把它記下來,下載了這個程式後用 MD5 驗證程式計算你所下載的檔案的 MD5 碼,和你之前記下 MD5 碼比較,就知道你下的是不是原版了,如果兩者相同,那么你所下載的是原版。如果計算出來的和網上註明的不匹配,那么你下載的這個檔案不完整,或是被別人動過手腳。
不過這種方式依舊有漏洞,第三方截獲到檔案之後,將修改後的檔案同md5碼一起放出來,接收方拿到檔案後,依舊無法鑑別。正式基於此,MAC(訊息校驗碼)誕生了,MAC是傳送方和接收放約定的一個特定的數值串,當傳送方傳送檔案時,將檔案內容加上MAC一起進行HASH計算(MAC不隨檔案一同傳送),此時第三方儘管截獲到此檔案,由於沒有MAC,因此無法再計算出正確的HASH值。當接受拿到檔案時,將檔案同自身擁有的MAC一起進行校驗對比HASH值,即可判定檔案是否是傳送方發過來的原檔案。