① 這個段計算CRC32的代碼裡面buff是指的什麼
buff指的你要進行crc檢驗的數據. 後面的len是這段數據的長度。因為crc校驗可以校驗任意長度的數據,所以有這個參數,標識數據的長度,這也是為什麼crc稱為循環冗餘校驗的原因。
觀樓主英俊瀟灑、風流倜儻,必當世之豪傑,誠邀樓主加入0x30網路貼吧,共商義舉,成千秋霸業。
② MD5、SHA1、CRC32值是干什麼的
MD5(RFC1321)是Rivest於1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯,與相同。MD5比MD4來得復雜,並且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好。
MD5是一種不可逆的加密演算法,目前是最牢靠的加密演算法之一,尚沒有能夠逆運算的程序被開發出來,它對應任何字元串都可以加密成一段唯一的固定長度的代碼。
SHA1是由NISTNSA設計為同DSA一起使用的,它對長度小於264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。
SHA-1設計時基於和MD4相同原理,並且模仿了該演算法。SHA-1是由美國標准技術局(NIST)頒布的國家標准,是一種應用最為廣泛的hash函數演算法,也是目前最先進的加密技術,被政府部門和私營業主用來處理敏感的信息。而SHA-1基於MD5,MD5又基於MD4。
本身是「冗餘校驗碼」的意思,CRC32則表示會產生一個32bit(8位十六進制數)的校驗值。由於CRC32產生校驗值時源數據塊的每一個bit(位)都參與了計算,所以數據塊中即使只有一位發生了變化,也會得到不同的CRC32值。
(2)crc32代碼擴展閱讀:
Hash演算法在信息安全方面的應用主要體現在以下的3個方面:
1)文件校驗
我們比較熟悉的校驗演算法有奇偶校驗和CRC校驗,這2種校驗並沒有抗數據篡改的能力,它們一定程度上能檢測並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。
MD5Hash演算法的」數字指紋」特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)演算法,不少Unix系統有提供計算md5checksum的命令。
2)數字簽名
Hash演算法也是現代密碼體系中的一個重要組成部分。由於非對稱演算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了一個重要的角色。對Hash值,又稱」數字摘要」進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。
3)鑒權協議
如下的鑒權協議又被稱作」挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是一種簡單而安全的方法。
當然,hash函數並不是完全可靠,不同文件產生相同MD5和SHA1的幾率還是有的,只是不高,在我們論壇里提供的系統光碟,你想對這么幾個文件存在相同HASH的不同文件根本是不可能的。
③ 如何用windows命令代碼批處理查詢文件的「身份證號碼」(求批處理命令代碼)
@echooff&title批量分析MD5、SHA1、CRC32信息By依夢琴瑤
cd/d%~dp0
:Input
cls
echo友情提醒:由於fciv不支持中文字元,所以請不要分析帶中文字元的路徑和文件。&echo,
set/pDir=請輸入要分析的目錄,回車確認:
ifnotdefinedDir(
setErrorMsg=您尚未輸入路徑
gotoErrorMsg
)
ifnotexist"%Dir%"(
setErrorMsg=您輸入的路徑不存在
gotoErrorMsg
)
del/f/qTools mp.log"%Dir%Analysis_Result.log">nul2>nul
for/r"%Dir%"%%ain(*)do(
call:Analyzemd5"%%~a"
call:Analyzesha1"%%~a"
call:Analyzecrc32"%%~a"
(echo%%~a md5:!md5! sha1:!sha1! crc32:!crc32!)>>Tools mp.log
set"md5="&set"sha1="&set"crc32="
)
echo分析結果日誌文件「Analysis_Result.log」已保存至「%Dir%」目錄中。
Tools mp.log"%Dir%Analysis_Result.log">nul
del/f/qToolscrc32.tmpTools mp.log>nul2>nul
pause
exit
:Analyze
if"%~1"=="crc32"(
Toolscrc32.exe"%~2">Toolscrc32.tmp
for/f"skip=4delims="%%iin(Toolscrc32.tmp)do(
set"str=%%~i"
set"str=!str:CRCoffile%~2=!"
for/f"tokens=4delims="%%jin('echo!str!')doset%~1=%%~j
del/f/qToolscrc32.tmp>nul2>nul
goto:eof
)
)
for/f"skip=3delims="%%iin('Toolsfciv.exe-%~1"%~2"')doset%~1=%%~i
goto:eof
:ErrorMsg
cls&echo%ErrorMsg%,請重新輸入。
ping127.0.0.1-n"2">nul
set"Dir="&gotoInput
此批處理需調用外部程序,所以請下載完整的附件文件。
PS:特別說明一下,由於使用的外部工具fciv.exe不支持帶有中文字元的名字,所以請不要分析那些文件,如果非要分析,那麼我的腳本僅供參考,請自尋支持中文字元的程序。