linux下验证软件md5值与SHA1

来源:互联网 发布:网络论坛和网络社区 编辑:程序博客网 时间:2024/06/05 03:23

什么是软件MD5值
  问:我发现很多软件下载站在提供软件本身的下载外,还经常提供由一串字符和数字组成的MD5值和一个验证文件,请问,到底什么是MD5值,与这个软件有什么关系?
  
  答:MD5值就是软件的指纹,用户可以通过软件提供的原始MD5值和已经获得的软件的MD5 值进行对比,如果相符的话就说明你下载的软件是“原厂”的,如果比较结果不相同的话则说明你下载的软件有可能被其他人动过手脚(例如添加了恶意程序、修改了源代码等),使用时要小心或是重新下载。
  MD5是一种密码的算法,它可以对任何文件产生一个唯一的MD5验证码,每个文件的MD5码就如同每个人的指纹一样,都是不同的,这样,一旦这个文件在传输过程中,其内容被损坏或者被修改的话,那么这个文件的MD5码就会发生变化,因此,通过对文件MD5的验证,可以得知所获得的文件是否完整。不过,有个例外就是在将软件刻录到光盘中时,有些刻录软件刻录光盘成功后会出现MD5变化的情况,不过软件倒是没有变化,还是“原厂”的。 

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
1、使用md5sum来产生指纹(报文摘要)命令如下:
md5sum filename > filename.md5
或者
md5sum filename >>filename.md5
也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符*,比如某目录下有几个zip文件,要把这几个zip文件的摘要输出到zip.md5文件中,命令如下:
md5sum *.zip > zip.md5
2、使用md5报文摘要验证文件方法:
把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:
md5sum -c file.md5
然后如果验证成功,则会输出:正确
对于多文件验证,可以使用输出全部文件的md5值后,导入到excel中,对比是否相同。
excel验证可以用  c =a=b  相同输出ture 不同输出 false

算一个文件的md5值也可以用
openssl dgst ***.iso

计算文件的SHA1-sha1sum

#sha1sun filename.zip

原创粉丝点击