python_90_hashlib模块

本文介绍了Python中使用hashlib模块进行加密的方法,包括MD5、SHA系列等算法的应用,并展示了如何生成不同格式的哈希值。此外,还介绍了hmac模块的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#用于加密相关的操作,3.x里代替了2.x中的md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib
m=hashlib.md5()
m.update(b'hello')
print(m.digest)#2进制hash
print(m.hexdigest())#16进制hash
m.update(b"It's me")
print(m.hexdigest())#hash结果为累计的,详见下式

# ######## md5 ########
m2=hashlib.md5()
m2.update(b"helloIt's me")
print(m2.hexdigest())#与上式hash结果一样

# ######## sha1 ########(已基本不用)
hash = hashlib.sha1()
hash.update('admin'.encode(encoding='utf-8'))#也可以为字节格式
print(hash.hexdigest())
# ######## sha256 ########
hash = hashlib.sha256()
hash.update(b'admin')#也可以encode下
print(hash.hexdigest())
# ######## sha384 ########
hash = hashlib.sha384()
hash.update('admin'.encode())#也可以为字节格式
print(hash.hexdigest())
# ######## sha512 ########
hash = hashlib.sha512()
hash.update(b'zhong')#字节格式不支持中文
print(hash.hexdigest())

######## 中文格式 ########
hash = hashlib.sha512()
hash.update('中国'.encode(encoding='utf-8'))
print(hash.hexdigest())

'更厉害的加密:python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密'

import hmac
h = hmac.new(b'21234',b'love')#可将字节转换为encode,字节只支持ascll码,不支持中文
print(h.hexdigest())

h = hmac.new('天王盖地虎'.encode(encoding='utf-8'), '宝塔镇河妖'.encode(encoding='utf-8'))
print(h.hexdigest())

 

转载于:https://www.cnblogs.com/tianqizhi/p/8452555.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值