python hash函数

 hash计算可以把任意数据变成一段“摘要”,只要这段数据中的任何字节变化都会引起hash值非常大的变化,所以hash值可以用来检查数据有没有被篡改。hash计算的另外一个特性是hash值无法反向计算,哪怕你知道了hash值,你也不能通过某种算法反解出他原来的值。所以在WEB应用开发中也经常会用来加密用户的密码数据。在python的开发中当然也会需要这样的功能。本文就以最常用的两种算法md5sha1为例简单介绍一下python的hash函数。

python的hash函数主要是由hashlib这个包来完成。我们可以写如下python代码来查看你的机器支持哪些hash算法。

import hashlib

print hashlib.algorithms
print hashlib.algorithms_available

前一行输出的是python中保证支持的hash算法,后一行输出的是当前python解释器支持的算法。

下面分别用md5和sha1计算了本站的网址(http://www.zeroplace.cn)的hash值。

import hashlib

data = "www.zeroplace.cn"

h_md5 = hashlib.new("md5")
h_md5.update(data)
print "md5: " + h_md5.hexdigest()

h_sha1 = hashlib.new("sha1")
h_sha1.update(data)
print "sha1: " + h_sha1.hexdigest()

如果对php有兴趣的同学也可以看看另外一篇文章是介绍php中的hash函数http://www.zeroplace.cn/article.asp?id=724



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 10961