首页 > 代码库 > MD5的好处及linux中文件MD5校验和的应用
MD5的好处及linux中文件MD5校验和的应用
MD5算法简介:
MD5全称是报文摘要算法(Message-Digest Algorithm5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
Message Digest Algorithm MD5为计算机安全领域广泛使用的一种散列函数,MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。它是用复杂的数学算法求得的一个128bit的值,不管你的源文件有多大,他的值都是128bit的,如果文件仅有一点的修改,MD5值也会大不相同的啊
在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
命令格式:
计算一个文件的校验和:
md5sum file > file.md5
当我们在网上下载一个文件(rpm包或者iso文件或者源码包)时,我们要判断它是否被修改时,可以把下载的文件file和该文件的报文摘要文件file.md5(如果是rpm或者源码包是可从官网上下对应的摘要文件)放在同一个目录下:(注意:-c 是根据已生成的md5值,对现存文件进行校验)
md5sum -c file.md5
然后如果验证成功,则会输出:正确
应用实例:
一般当我们怀疑系统被人动多手脚或者入侵时,都会通过日志来查看一些信息,但高手他们一般会清除他们入侵的日志,那怎么办,其实你想想,他们入侵的必须要做的是什么?,肯定会动过系统一些关键的文件和程序,然后用这些权利去执行他们的程序,我们就可以通过查看我们的关键的程序及文件是否被修改过来判断有没有被入侵。那我们怎么办呢?有办法,我们可以把系统关键文档和程序的MD5值求出 并备份到另外一台安全的计算机上,当我们怀疑被入侵的时候 再把这些关键文档和程序的MD5值求一次并保存为另一个文档,再比较这两个文档有没有不同,就可以看出一些蛛丝马迹(可以通过脚本实现)
以下是重要的文件:
/etc/passwd
/etc/shadow
/etc/group
/usr/bin/passwd
/sbin/portmap
/bin/login
/bin/ls
/bin/ps
/usr/bin/top
注意:相同内容的文件的md5一样。如先对文件进行复制,然后对同内容不同名的文件进行md5,md5值是一样的