MD5 文件的意义
Message Digest 5 (MD5) 是消息摘要算法。简单点说就是给一串字符串算个唯一的指纹码。
只要字符串不同,指纹码就不同。
6这种加密算法不可逆。
用途
用途简而言之:
用于判断文件是否重复
比如:一个图片1.jpg,使用md5_file算出一个指纹码。然后把1.jpg重命名为2.jpg,还是同一张图片,因此2.jpg的指纹码不会发生变化。这样在存储图片的时候就可以按照图片的MD5来避免重复存储(MD5写入数据库,已存在的MD5值对应的图片不再存储)
用于判断文件是否被修改
文件进行MD5验证,就是用来效验你下载后的文件和官方提供的文件是否一致,防止其他人篡改里面的内容。通过验证文件的MD5值是否与官方提供的 .md5 文件的字符串相同,若相同则为原版;如果文件内容被篡改或者损坏,那么MD5值就会不同。
用于验证通信的有效性
发送文件过去后,可以要求接收端返回文件的MD5码,将收到的MD5码和本地文件的MD5码校验,确保通信是否有效。也可将文件及MD5值存储在数据库,用以复查文件是否传输成功。
等等
Linux 下的文件md5验证
$ md5sum -b filename
$ md5sum -c filename
-b: 以二进制模式读入内容
-t: 以文本模式读入文件内容进行校验
虽然是不同的读入模式,但是在求md5的时候,所得是一样的。
或者用将文件 filename 与其对应的 filename.md5 置于同一个路径下:
md5sum -c filename.md5
如果验证通过会出现 “ok” 。