有時你會看到MD5、SHA-1或SHA-256雜湊顯示在你的網際網路旅行下載,但不知道他們是什麼。這些看似隨機的文字字串允許您驗證下載的檔案是否已損壞或被篡改。您可以使用Windows、macOS和Linux中內建的命令來實現這一點。
雜湊是密碼演算法的產物,用於產生字串。不管輸入資料的大小,這些字串通常都有固定的長度。看看上面的圖表,你會發現“狐狸”和“紅狐跳過藍狗”的輸出長度相同。
現在將圖表中的第二個示例與第三個、第四個和第五個進行比較。您將看到,儘管輸入資料中發生了非常小的更改,但得到的雜湊值彼此都非常不同。即使有人修改了一小塊輸入資料,雜湊值也會發生巨大的變化。
MD5、SHA-1和SHA-256都是不同的雜湊函式。軟體建立者通常下載一個檔案,比如Linux.iso檔案,甚至Windows.exe檔案,然後透過雜湊函式執行它。然後,他們會在自己的網站上提供一份官方的雜湊列表。
這樣,您就可以下載該檔案,然後執行雜湊函式來確認您擁有真實的原始檔案,並且在下載過程中該檔案沒有損壞。正如我們在上面看到的,即使對檔案做一點小的更改,也會極大地改變雜湊。
如果你有一個非官方來源的檔案,並且你想確認它是合法的,那麼這些也很有用。假設你有一個從某處得到的Linux.ISO檔案,你想確認它沒有被篡改。您可以在Linux發行版的網站上線上查詢特定ISO檔案的雜湊。然後,您可以透過計算機上的雜湊函式執行它,並確認它與您期望的雜湊值匹配。這將確認您擁有的檔案與Linux發行版網站上提供的供下載的檔案完全相同,沒有任何修改。
注意,MD5和SHA-1函式存在“衝突”。這些檔案是多個不同的檔案,例如,一個安全檔案和一個導致相同MD5或SHA-1雜湊的惡意檔案。所以如果可能的話你應該選擇SHA-256。
考慮到這一點,讓我們看看如何檢查下載的檔案的雜湊,並將其與給定的檔案進行比較。下面是針對Windows、macOS和Linux的方法。如果在同一個檔案上使用相同的雜湊函式,雜湊值將始終相同。使用哪種作業系統並不重要。
由於PowerShell,在Windows上無需任何第三方軟體即可完成此過程。
若要開始,請透過啟動“開始”選單中的“Windows PowerShell”快捷方式開啟PowerShell視窗。
執行以下命令,替換“C:\path\to”\檔案.iso“要檢視雜湊值的任何檔案的路徑:
Get-FileHash C:\path\to\file.iso根據檔案大小、使用的演算法以及檔案所在驅動器的速度,生成檔案的雜湊值需要一些時間。
預設情況下,該命令將顯示檔案的SHA-256雜湊值。但是,如果需要MD5、SHA-1或其他型別的雜湊,可以指定要使用的雜湊演算法。
執行以下命令之一以指定不同的雜湊演算法:
Get-FileHash C:\path\to\file.iso -Algorithm MD5 Get-FileHash C:\path\to\file.iso -Algorithm SHA1 Get-FileHash C:\path\to\file.iso -Algorithm SHA256 Get-FileHash C:\path\to\file.iso -Algorithm SHA384 Get-FileHash C:\path\to\file.iso -Algorithm SHA512 Get-FileHash C:\path\to\file.iso -Algorithm MACTripleDES Get-FileHash C:\path\to\file.iso -Algorithm RIPEMD160將雜湊函式的結果與您希望看到的結果進行比較。如果是相同的值,則表示檔案沒有被損壞、篡改或以其他方式更改。
macOS包含用於檢視不同型別雜湊的命令。要訪問它們,請啟動終端視窗。您可以在Finder>Applicati***>Utilities>Terminal找到它。
md5命令顯示檔案的md5雜湊:
md5 /path/to/fileshasum命令預設顯示檔案的SHA-1雜湊。這意味著以下命令是相同的:
shasum /path/to/file shasum -a 1 /path/to/file要顯示檔案的SHA-256雜湊,請執行以下命令:
shasum -a 256 /path/to/file在Linux上,訪問終端並執行以下命令之一以檢視檔案的雜湊,具體取決於要檢視的雜湊型別:
md5sum /path/to/file sha1sum /path/to/file sha256sum /path/to/file雖然雜湊可以幫助您確認檔案沒有被篡改,但這裡仍然有一種攻擊途徑。攻擊者可以控制Linux發行版的網站並修改其上顯示的雜湊值,或者如果您透過HTTP而不是加密的HTTPS訪問網站,則攻擊者可以執行中間人攻擊並在傳輸過程中修改網頁。
這就是為什麼現代Linux發行版通常提供的不僅僅是網頁上列出的雜湊值。它們對這些雜湊進行加密簽名,以幫助抵禦可能試圖修改雜湊的攻擊者。如果您想絕對確保雜湊和檔案沒有被篡改,那麼您需要驗證加密簽名以確保雜湊檔案實際上是由Linux發行版簽名的。
相關:如何驗證linuxiso的校驗和並確認它沒有被篡改
驗證加密簽名是一個更復雜的過程。閱讀我們的指南,以驗證Linux iso沒有被篡改的完整說明。
圖片來源:豪爾赫·斯托爾菲/維基媒體
當你聽到“安全漏洞”時,你會想到什麼?一個惡意的駭客坐在佈滿矩陣式數字文字的螢幕前?或者一個住在地下室的少年已經三個星期沒見日光了?一臺強大的超級計算機試圖入侵整個世界怎麼樣? ...
... 大多數人認為他們永遠不需要擔心這些術語指的是什麼或者它們與下載過程的關係。但有時知道是有益的。 ...
... 然而,這個系統還遠遠不夠完善,這就是為什麼許多人喜歡使用檔案雜湊生成和檢查工具來交叉引用他們的軟體。想了解有關加密和雜湊的更多資訊嗎?這裡有十個基本的加密術語,每個人都應該知道和理解! ...
...接掏腰包。然而,值得注意的是,他們沒有說他們認為是什麼“直接結果”。在披露之後的幾天裡,《登記冊》報道說,外部支付指令碼可能是這次攻擊的罪魁禍首。安全公司RiskIQ表示,這次攻擊很可能是由一個名為Magecart的組...
...訊。如果在流期間傳輸了檔案,則會顯示MD5、SHA1和SHA256雜湊。 右鍵單擊其中任何一個,然後從上下文選單中選擇“VirusTotal Lookup”以在VirusTotal網站上開啟瀏覽器,並傳入雜湊以進行檢查。 VirusTotal儲存已知惡意軟體和其他惡意...
...你只需要知道原始檔案的校驗和。 md5、sha-1和sha-256和有什麼區別? 校驗和是確保檔案沒有錯誤的有用方法。如果由於下載問題或硬碟驅動器問題而發生隨機錯誤,那麼產生的校驗和將不同,即使只是一個很小的錯誤。 然而,這...
...和密碼資料庫,並使用它們“駭客”你的帳戶。這就是為什麼你不應該重複使用重要網站的密碼,因為一個網站的漏洞可以給攻擊者提供登入到其他帳戶所需的一切。 我被解僱了嗎? 相關:為什麼你應該擔心每當一個服務的...