檢查網上下載「學習資料」的完整性,用這招就夠了

當今時代無數老師們的珍貴資料,每一份都值得你們潛心學習。可是時間寶貴,要如何才能保證學習資料的正確性是第一重要的事情。html

二狗子有一個專門存放「學習資料」的服務器,同時也會按期在本地電腦中備份相同的資料。最近,朋友問二狗子要一份「高數的自我修養」,二狗子就將服務器上的外鏈發給了他,並炫耀了一下本身服務器性能有多強,下載速度良心。朋友非常開心,一樣炫耀了一下他的 5G 手機,並給本身的下載時速截圖,P 上了一個大拇指表情。算法

不完整的「學習資料」

「高數的自我修養.zip」在談笑間下載完成。朋友也掀開捂好的被窩,點開了資料,關上了燈開始學習。安全

「歡迎您收看本次天氣預報,咱們明天再見!」服務器

很明顯,這份「學習資料」有問題,30 分鐘了連反雙曲線函數都沒講到。微信

朋友很是憤怒,指責二狗子確定是同班同窗派來阻止他學習進步的內鬼。可是二狗子確定不是這樣的人。二狗子還去翻看了本地的學習資料,確確實實詳詳細細的介紹了「反雙曲線函數原理和使用。」函數

那麼這個內鬼是誰呢?工具

二狗子仔細分析了下,以爲有如下幾種可能:性能

一、朋友在下載時,有部分數據丟失了;學習

二、對應文件中毒了,有部分文件損壞了;spa

三、朋友的同班同窗爲了防止他學習進步,黑進了服務器,篡改對應文件;

朋友沒法好好學習的悲痛告訴咱們一個經驗:從網上下載任何有價值的數據,尤爲是「學習資料」,都須要檢查下載文件的完整性,確保下載的文件與原始文件徹底相同。

當你須要確保文件完整性的時候除了看一遍這個文件,還有其餘簡單的方法麼?這就要說到 MD5 算法了。

什麼是 MD5 算法

從字面上理解,MD5 即表明信息摘要算法 5。

它第一次出現是在 1992 年 8 月,羅納德·李維斯特向互聯網工程任務組(IETF)提交了一份重要文件,詳細描述了這種算法的原理。因爲這種算法的公開性和安全性,在 90 年代被普遍使用在各類程序語言中,用以確保資料傳遞無誤。該算法大體實現思路是接受隨機數據(文本或二進制)做爲輸入值,並生成固定長度的「 哈希值」做爲輸出值。輸入數據能夠是任何大小或長度,可是輸出「哈希值」的長度始終是固定的。

從上面的示例中能夠看到,就算輸入的值長度都不相同,該算法都會生成固定大小(32 位十六進制)的 MD5 哈希值,舉例:6e854a5fd2a642730994b36f90621782

哈希值對於每一個文件都是惟一的,即使文件大小和類型相同,不一樣的文件也會擁有不一樣的 MD5 哈希值。所以只須要對比二狗子的「高數的自我修養.zip」的 MD5 值和朋友下載文件 MD5 值,就能夠知道文件是不是同一個。

具體操做就是,二狗子先給服務器上的學習資料生成對應的 MD5 哈希值。當朋友將文件下載到 PC 後,再次爲下載的文件生成一段 MD5 哈希值。這兩個哈希值若是是一致的,就表明學習資料是完整的,沒有任何數據丟失。反之則表明資料是錯誤的。一頓對比操做後,朋友發現確實是下載的文件不同,二狗子從新給朋友發送了正確的學習資料,這下他終於能夠好好進步了。

自從鬧了這一出,二狗子在上傳和下載學習資料時,也養成了比對 MD5 哈希值的習慣,就不再用擔憂拿錯資料,安心勤奮地學習,最終考上了心愛的大學,找到了滿意的工做,賺到了足夠的工資,下單了全部文件所有使用 MD5 校驗的又拍雲存儲。

往期技術文章都在微信同步分享,能夠添加微信:upyun0001

推薦閱讀

無需額外工具,又小拍的簡單抓包教程

以圖搜圖系統概述及工程實踐(下)

相關文章
相關標籤/搜索