satan 通过 Google 阅读器发送给您的内容:
于 12-5-6 通过 averiany涂鸦馆 作者:averainy
在python中hashlib是个专门提供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+
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明
相关日志
可从此处完成的操作:
- 使用 Google 阅读器订阅averiany涂鸦馆
- 开始使用 Google 阅读器,轻松地与您喜爱的所有网站保持同步更新
没有评论:
发表评论