hashlib模块

本文详细介绍使用Python进行数据加密的方法,包括MD5、SHA1、SHA256等常见算法的应用,并探讨了如何通过添加自定义key增强加密安全性,以及利用hmac模块实现更高级别的加密。

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

用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

 1 import hashlib
 2  
 3 # ######## md5 ########
 4 hash = hashlib.md5()
 5 # help(hash.update)
 6 hash.update(bytes('admin', encoding='utf-8'))
 7 print(hash.hexdigest())
 8 print(hash.digest())
 9  
10  
11 ######## sha1 ########
12  
13 hash = hashlib.sha1()
14 hash.update(bytes('admin', encoding='utf-8'))
15 print(hash.hexdigest())
16  
17 # ######## sha256 ########
18  
19 hash = hashlib.sha256()
20 hash.update(bytes('admin', encoding='utf-8'))
21 print(hash.hexdigest())
22  
23  
24 # ######## sha384 ########
25  
26 hash = hashlib.sha384()
27 hash.update(bytes('admin', encoding='utf-8'))
28 print(hash.hexdigest())
29  
30 # ######## sha512 ########
31  
32 hash = hashlib.sha512()
33 hash.update(bytes('admin', encoding='utf-8'))
34 print(hash.hexdigest())
35 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
36 1
37 2
38 3
39 4
40 5
41 6
42 7
43 import hashlib
44  
45 # ######## md5 ########
46  
47 hash = hashlib.md5(bytes('898oaFs09f',encoding="utf-8"))
48 hash.update(bytes('admin',encoding="utf-8"))
49 print(hash.hexdigest())
50 python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密
51 1
52 2
53 3
54 4
55 5
56 import hmac
57  
58 h = hmac.new(bytes('898oaFs09f',encoding="utf-8"))
59 h.update(bytes('admin',encoding="utf-8"))
60 print(h.hexdigest())

 

转载于:https://www.cnblogs.com/shiluoliming/p/6395350.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值