用md5演算法檢測檔案的完整性

2021-06-12 11:19:56 字數 1388 閱讀 4642

md5演算法常常被用來驗證網路檔案傳輸的完整性,防止檔案被人篡改。

md5全稱是報文摘要演算法(message-digest algorithm5)

此演算法對任意長度的資訊逐位進行計算,產生乙個二進位制長度為128位(十六進製制長度就是32位)的「指紋」(或稱「報文摘要」),不同的檔案產生相同的報文摘要的可能性是非常非常之小的。

在linux或unix上,md5sum是用來計算和校驗檔案報文摘要的工具程式。一般來說,安裝了linux後,就會有md5sum這個工具,直接在命令列終端直接執行。

1.使用md5sum來產生指紋(報文摘要)命令如下:

md5sum file > file.md5    //覆蓋 或者

md5sum file >>file.md5    //新增

也可以把多個檔案的報文摘要輸出到乙個md5檔案中,這要使用萬用字元*,比如某目錄下有幾個txt檔案,要把這幾個檔案的摘要輸出到test.md5檔案中,命令如下:

md5sum *.txt> test.md5

2.使用md5報文摘要驗證檔案:

同乙個目錄下,然後用如下命令進行驗證:

md5sum -c file.md5

然後如果驗證成功,則會輸出:

filename: ok  (

注意格式)

3.檢視乙個字串的md5值

echo "123" | md5sum

4.對資料夾裡檔案整體操作

比如要對mm資料夾

[wang@localhost 桌面]$ find ./mm -type f -name "*" -exec md5sum {} \;

fe185931e17b40cd2c1716e2aa77a1f1  ./mm/test.sh

2180296c4f3271dc52ca661e75a4c21e  ./mm/00.txt

d41d8cd98f00b204e9800998ecf8427e  ./mm/00.txt~

find ./mm -type f -name "*" -exec md5sum {} \;| sort

這條命令可以用來檢視重複檔案 並排序

用例

檢視掛載的檔案完整性,比如u盤。

sprintf(cmd,"cd %s

;  md5sum -c check.md5 | grep

\"%s

: ok\"",mount_file,find_name);

ret = system(cmd);

注意:1.分號後面馬上接命令,因為在掛載中執行完命令後操作點會回到最初的地方。

2.grep命令中後面要查詢的檔案用雙引號,引號中有引號,使用轉義字元「\」。

3.md5sum檢測檔案的輸出格式是filename: ok(檔名後冒號,空一格後接ok)。

Linux AIDE 檔案完整性檢測

一 aide的概念 aide advanced intrusion detection environment,是一款入侵檢測工具,主要用途是檢查文件的完整性。aide在本地構造了乙個基準的資料庫,一旦作業系統被入侵,可以通過對比基準資料庫而獲取檔案變更記錄,使用aide.conf作為其配置文件。a...

引數簽名例項(md5實現 資料完整性)

在前端用js定義md5函式對值做雜湊,如此使用者提交表單後,在網路中路由間傳遞的便是簡單加密後的資訊,而非明文資訊,等表單提交到後台後,可用md5再次對其進行加密,再行儲存。亦或者防止有人擷取報文修改客戶端提交過來的引數進行越權檢視,我們可以對引數進行md5加密進行處理,與請求引數一起傳遞到伺服器,...

密碼學 資料完整性 單向雜湊函式md5

完整性用來確保資訊沒有被修改,也可以防止假冒的資訊。目前資料完整性的主要解決方案就是使用單向雜湊函式和加密演算法。單向雜湊函式能夠將乙個檔案對映成一段小的資訊碼並且不同檔案雜湊之後的值是不同的。通常將原始檔案使用單向雜湊函式處理得到一段資訊碼,然後將其加密,和檔案一起儲存。如果由人改動檔案,那麼我們...