基于hashlib模块--加密(详解)
作者:jingxian 时间:2023-10-08 15:46:29
用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib
m = hashlib.md5()
m.update(b"hello")
print(m.hexdigest())
m.update(b"It's me")
print(m.hexdigest())
m.update(b"It's been a long time since we spoken.")
print(m.hexdigest())
m2 = hashlib.md5()
m2.update(b"helloIt's me")
print(m2.hexdigest())
# 输出
5d41402abc4b2a76b9719d911017c592
64f69d95135bc13d4827f871b37f780f
0c9a83e10aa2f9e9629be61146db9cc2
64f69d95135bc13d4827f871b37f780f
#第二个和第四个 md5值是相同的,所以第二个加密的是 helloIt'sme<br><code class="python comments"><br></code>
print(m.digest()) #2进制格式hash
print(len(m.hexdigest())) #16进制格式hash
# ######## sha1 ########
hash = hashlib.sha1()
hash.update('admin')
print(hash.hexdigest())
# ######## sha256 ########
hash = hashlib.sha256()
hash.update('admin')
print(hash.hexdigest())
# ######## sha384 ########
hash = hashlib.sha384()
hash.update('admin')
print(hash.hexdigest())
# ######## sha512 ########
hash = hashlib.sha512()
hash.update('admin')
print(hash.hexdigest())
python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密
散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;
一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。
import hmac
h = hmac.new("天王盖地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8"))
print(h.digest())
print(h.hexdigest())
#输出
b'fx\xad\xdd\x9e\xd6\xddcQN\x82c\xcd\xd9\x80-'
6678addd9ed6dd63514e8263cdd9802d
标签:python,hashlib模块
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用vue实现HTML页面生成图片的方法
2024-04-27 15:51:47
![](https://img.aspxhome.com/file/2023/4/133094_0s.jpg)
磁盘缓存专题之一 缓存命中和缓存未命中&缓存与缓冲间的差异
2012-10-07 11:02:46
Python根据输入参数计算结果的实例方法
2021-12-15 08:30:45
详细介绍Python中的set集合
2023-07-26 07:35:03
Python 高级专用类方法的实例详解
2023-10-11 14:13:52
通俗易懂了解Python装饰器原理
2021-07-18 13:48:20
让XML在ASP中发挥其长处
2008-01-16 19:07:00
Python字典对象实现原理详解
2023-06-11 01:53:21
![](https://img.aspxhome.com/file/2023/5/123805_0s.jpg)
Python数据结构之图的存储结构详解
2021-03-28 10:42:48
![](https://img.aspxhome.com/file/2023/3/78803_0s.jpg)
PHP使用flock实现文件加锁的方法
2023-10-29 21:26:59
如何把数据库记录显示到列表框里去?
2009-11-06 13:48:00
python数字图像处理之基本图形的绘制
2021-10-21 05:29:42
![](https://img.aspxhome.com/file/2023/8/121498_0s.png)
python 远程统计文件代码分享
2023-04-13 17:02:08
老生常谈CSS网页布局的意义与副作用
2008-09-12 12:31:00
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2021-04-13 07:01:50
![](https://img.aspxhome.com/file/2023/8/112168_0s.png)
mysql数据库查询基础命令详解
2024-01-19 21:19:21
用python3 返回鼠标位置的实现方法(带界面)
2021-07-17 15:11:40
![](https://img.aspxhome.com/file/2023/5/82645_0s.jpg)
理解python中生成器用法
2022-08-27 10:49:59
Pytorch中实现只导入部分模型参数的方式
2023-01-24 05:53:25
python 操作 mongodb 数据库详情
2024-01-19 17:53:45