11.5 hashlib模块

本文介绍了Python中的Hashlib模块,详细讲解了如何使用MD5和SHA256算法进行数据加密。通过实例演示了不同更新方式对哈希结果的影响,并强调了哈希过程的不可逆性。

Hashlib模块

# -*-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

转载于:https://blog.51cto.com/10777193/2093322

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值