Md5使用詳解

2021-09-20 17:27:22 字數 3447 閱讀 2035

-b 以二進位制模式讀入檔案內容

-t 以文字模式讀入檔案內容

-c 根據已生成的md5值,對現存盤案進行校驗

md5sum file

[root@master lianxi]# md5sum data 

0a6de444981b68d6a049053296491e49  data

[root@master lianxi]# md5sum *

0a6de444981b68d6a049053296491e49  data

13df384c47dd2638fd923f60c40224c6  data2

相同內容的檔案的md5一樣。如下我先對檔案進行複製,然後對同內容不同名的檔案進行md5,md5值一樣

[root@master lianxi]# cp data  data.bak

[root@master lianxi]# ls

data  data.bak

[root@master lianxi]# md5sum *

0a6de444981b68d6a049053296491e49  data

0a6de444981b68d6a049053296491e49  data.bak

-b 以二進位制模式讀入內容

-t 以文字模式讀入檔案內容進行校驗

如下文字檔案,無論通過哪種模式讀取md5都一致。

[root@master lianxi]# file data

data: ascii text

[root@master lianxi]# md5sum data

0a6de444981b68d6a049053296491e49  data

[root@master lianxi]# md5sum -b data

0a6de444981b68d6a049053296491e49 *data

[root@master lianxi]# md5sum -t data

0a6de444981b68d6a049053296491e49  data

將生成md5值重定向到指定的檔案,通常檔案的副檔名我們會命為.md5

[root@master lianxi]# md5sum data > data.md5

[root@master lianxi]# md5sum data

0a6de444981b68d6a049053296491e49  data

[root@master lianxi]# cat data.md5 

0a6de444981b68d6a049053296491e49  data

每個檔案的md5生成為一行

[root@master lianxi]# ls

data  data.bak  data.md5  d.md5

[root@master lianxi]# cat d.md5 

0a6de444981b68d6a049053296491e49  data

0a6de444981b68d6a049053296491e49  data.bak

0bd94658869c53cdcdf35a0f7de93e01  data.md5

這裡新增檔案ls,單獨求其md5,將其md5追加到檔案中

[root@master lianxi]# cp /bin/ls .

[root@master lianxi]# ls

data  data.bak  data.md5  d.md5  ls

[root@master lianxi]# md5sum ls >> d.md5 

[root@master lianxi]# cat d.md5 

0a6de444981b68d6a049053296491e49  data

0a6de444981b68d6a049053296491e49  data.bak

0bd94658869c53cdcdf35a0f7de93e01  data.md5

c6337b20f3c159544bff5cf622391f9e  ls

-c選項來對檔案md5進行校驗。校驗時,根據已生成的md5來進行校驗。生成當前檔案的md5,並和之前已經生成的md5進行對比,如果一致,則返回ok,否則返回錯誤資訊

md5sum –c d.md5

[root@master lianxi]# md5sum -c d.md5 

data: ok

data.bak: ok

data.md5: ok

ls: ok

修改檔案後,檔案md5變化

[root@master lianxi]# ls

data

[root@master lianxi]# md5sum data 

2360752c3368ca4f89169f5ecc06e383  data

[root@master lianxi]# md5sum data  > data.md5

[root@master lianxi]# echo "lwg" >> data

[root@master lianxi]# md5sum data

287d237083a42f09785daa46a5fa3afe  data

[root@master lianxi]# md5sum -c data.md5 

data: failed

md5sum: warning: 1 of 1 computed checksum did not match

[root@master lianxi]# md5sum -c data.md5 

md5sum: warning: 1 of 1 computed checksum did not match

[root@master lianxi]# echo $?

1通過grep將正確的資訊過濾掉

[root@master lianxi]# md5sum -c ../value.md5 

acpid: ok

acpid.1: ok

anaconda.log: ok

anaconda.syslog: ok

anaconda.xlog: ok

boot.log: ok

boot.log.1: ok

......

省略中間部分

......

yum.log.2: ok

md5sum: warning: 1 of 56 computed checksums did not match

[root@master lianxi]# md5sum -c ../value.md5 | grep -v ok  

md5sum: warning: 1 of 56 computed checksums did not match

cron.1: failed

1)md5sum 是校驗檔案內容,與檔名是否相同無關

2)md5sum值逐位校驗,所以檔案越大,校驗時間越長。

MD5加密詳解

md5全稱 message digest algorithm 5 翻譯過來就是 資訊 摘要演算法5 比如我的銀行密碼是 12345 1.得到的 md5是 827ccb0eea8a706c4c34a16891f84e7b 2.乙個人擷取到這個密文 那麼通過撞庫肯定容易撞出 12345.3.我們要做的就...

MD5演算法詳解

一般的壓縮軟體都帶有校驗功能 srs,md5,sha1 加密後的訊息是完整的 具有解密演算法,得到原始資料 摘要得到的訊息是不完整的 通過摘要的資料,不能得到原始資料 所以,當看到很多人說,md5,加密,解密的時候,呵呵一笑就好了。有人說md5,128位,32位,16位,到底md5多長?md5的長度...

python 使用md5加密

python中使用md5進行加密字串 author administrator coding utf 8 import hashlib aa 123456 需要加密的字串 defmd5encode str 建立md5物件 m hashlib.md5 m.update str 傳入需要加密的字串進行m...