2012年5月6日星期日

用Python生成文件的MD5校验码

 
 

satan 通过 Google 阅读器发送给您的内容:

 
 

于 12-5-6 通过 averiany涂鸦馆 作者:averainy

pythonhashlib是个专门提供hash算法的库,里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。

MD5

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。128位长度。目前MD5是一种不可逆算法。

具有很高的安全性。它对应任何字符串都可以加密成一段唯一的固定长度的代码。

SHA1

SHA1的全称是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的数据长度更长,

它对长度小于264的输入,产生长度为160bit的散列值。比MD5多32位。因此,比MD5更加安全,但SHA1的运算速度就比MD5要慢了。

下面就来看看hashlib的使用方法:

from hashlib import md5   m = md5()           #获取一个MD5加密算法对象 m.update('string') #增加要加密的字符串,然后再加密比如 m.update("hello") m.update("averainy") #上面两句等价于 m.update("helloaverainy")   m.hexdigest()      #获取加密后的16进制字符串

文件的MD5校验码是根据文件的内容生成的信息摘要,方法如下,

from hashlib import md5   def md5_file(name):     m = md5()     fd = open(name, 'rb')    #需要使用二进制格式读取文件内容     m.update(fd.read())     fd.close()     return m.hexdigest()   if __main__ == '__init__':     print md5_file('~/test')
由于md5是不可逆的,如果想比较两个文件是否相同,只需要比较两个文件的md5值就可以了.
 参考:
http://docs.python.org/library/hashlib.html
 

本文作者:averainy | 本文地址: 固定链接 | 我的腾讯微博|我的google+
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明

相关日志


 
 

可从此处完成的操作:

 
 

没有评论:

发表评论