# -*-coding:utf-8 -*-
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘hashlib_module‘
import hashlib
#加密模块,主要两种算法:md5,sha
m=hashlib.md5()
print(m)
# <md5 HASH object @ 0x000000D34BD6C378>
内容相同,两个更新和一次性更新哈希结果完全一样
#在python3里面都是unicode类型,update()需要字节类型,
m.update("hello world!".encode("utf8"))
m.hexdigest()
print(m.hexdigest())
# fc3ff98e8c6a0d3087d515c0473f8677
m.update("jiaxin".encode(‘utf8‘))
print(m.hexdigest())
# b23a6a86c2862b2d92932848a9409c8d
m2=hashlib.md5()
print(m2)
# <md5 HASH object @ 0x000000094300C418>一个哈希对象
m2.update("hello world!jiaxin".encode("utf-8"))
print(m2.hexdigest())
# b23a6a86c2862b2d92932848a9409c8d
#m1和m2的hashjie结果完全一样!
#哈希不可逆,简单的密码撞库才行
m3=hashlib.sha256()
print(m3)
# <sha256 HASH object @ 0x000000551FFFC418>
m3.update("hello world!".encode(‘utf8‘))
print(m3.hexdigest())
# 7509e5bda0c762d2bac7f90d758b5b2263fa01ccbc542ab5e3df163be08e6ca9
原文地址:http://blog.51cto.com/10777193/2093322