AIX、Linux、Windows计算文件MD5、SHA1哈希校验码
MD5文件格式
常用文件校验码是 crc、md5、sha1、sha256,本文以最简单的 md5 为例(虽然过时了)。
文件校验码只和文件内容有关,不因文件名、修改时间戳的变化而变化。
如果FTP跨平台传输文本文件,一定要选择bin模式,不然该文本文件的md5校验会失败。
md5文件的扩展名没有强制规定,但建议使用.md5
或者.txt
扩展名。
一个md5文件可包括多行。
如果手动编写md5文件,那么 md5 值与文件名之间只能 1 到 2 个空格。
md5文件格式:
1 | <md5校验码><空格><空格或*符号><文件名或绝对路径、相对路径> |
一个md5文件对应一个文件的格式示例:
1 | 582ff16e322241cc6157cf70378a3dec abc.tar.gz |
一个md5文件对应多个文件的格式示例:
1 | 61b06996a32bc1c40c7393648fe55fb2 def.zip |
在 Windows 系统用 git-bash 里的 md5sum
命令创建的文件格式示例:
1 | 5b895d01cbd357162df92f33603ca7a8 *abc.zip |
AIX
AIX系统计算文件md5或者sha1的命令是 csum
1 | csum filename #默认使用md5算法,文件名可用通配符,生成filename的md5码,并显示 |
Linux
Linux系统计算文件md5命令是 md5sum
1 | md5sum file1 #生成file1的md5码并显示,文件名可用通配符 |
Linux系统计算文件sha1命令是 sha1sum
1 | sha1sum filename |
参数说明:
1 | -b, --binary 二进制模式读取,*NIX默认为二进制模式 |
Windows
Windows系统计算文件md5、sha1、sha256的命令是 certutil
,但哈希结果带空格。
1 | certutil -hashfile filename MD5 |
Windows 系统下有各种语言编写的 md5 码生成器,比较小巧的如 Hash.exe
建议安装 git-bash 用 md5sum
命令创建 md5 文件,尽量不要手动创建。