目录
md5介绍
md5是一种加密技术,用于校验码比对操作,通过对比md5码的区别可以唯一确定文件身份。
在Linux中,md5
是一个用于计算和校验128位MD5哈希值的命令行工具。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密哈希函数,它可以产生一个128位(16字节)的哈希值,通常用一个32位的十六进制数表示。
使用md5
命令
计算文件的MD5哈希值:
md5sum filename
这会产生一个32位的十六进制数作为输出,它是文件的MD5哈希值。
校验文件的MD5哈希值
md5sum -c filename.md5
其中filename.md5
是一个包含MD5哈希值的文件,通常这个文件是由md5sum filename
命令生成的,并且包含了文件名和对应的MD5哈希值。
示例
-
生成并校验MD5哈希值:
bashCopy Code
md5sum example.txt > example.txt.md5 md5sum -c example.txt.md5
如果文件未被修改,
md5sum -c
命令将不会输出任何内容,表示校验成功。如果文件被修改,它将输出错误信息。
注意事项
- MD5由于其弱点和易受碰撞攻击的特性,在安全性较高的场合已经不再推荐使用。在需要更高安全性的场合,建议使用SHA-256或更高安全性的算法。
- 在Linux中,可以使用
sha256sum
命令来计算和校验SHA-256哈希值,使用方式与md5sum
类似。
Md5的常用场景
包括库的新版本发布,和版本提交,文件的更新等,如果更新了库则通过md5校验码作为身份,可以区别更新前后的不同证明。
应用案例
当编译后的库,需要发布新版本时可以同时将新库的md5码计算出来,例如用md5sum libtest.so 可以得到md5码为一串字母数字组成的校验码。将此校验码保存到文件例如version.info中类似于json文件格式保存。当进行版本上传时可以在网页端或发布端对其进行校验,经校验后如果md5计算一致则可以通过验证后上传并发布版本。
可以用md5码作为文件导入或合并的手段。
# md5sum libnode.so
a10dabgadeogjekdlajgfd
通过对比md5码可以判断应用的库是否为同一个。