06.hashlib
# 01.hashlib
- 用于加密相关的操作,代替了md5模块和sha模块
- 主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib
#1 ######## md5 ########
# 目的:实现对b"HelloIt's me" 这句话进行md5加密
m = hashlib.md5() # 1)生成一个md5加密对象
m.update(b"Hello") # 2)使用m对 b"Hello" 加密
m.update(b"It's me") # 3) 使用m对 b"It's me"加密
print(m.hexdigest()) # 4) 最终加密结果就是对b"HelloIt's me"加密的md5值:5ddeb47b2f925ad0bf249c52e342728a
#2 ######## sha1 ########
hash = hashlib.sha1()
hash.update(b'admin')
print(hash.hexdigest())
#3 ######## sha256 ########
hash = hashlib.sha256()
hash.update(b'admin')
print(hash.hexdigest())
#4 ######## sha384 ########
hash = hashlib.sha384()
hash.update(b'admin')
print(hash.hexdigest())
#5 ######## sha512 ########
hash = hashlib.sha512()
hash.update(b'admin')
print(hash.hexdigest())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 02.添加自定义key
- 以上加密算法虽然依然非常厉害,但时候存在缺陷
- 即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
######### hmac ########
import hmac
h = hmac.new(b"123456","真实要传的内容".encode(encoding="utf-8"))
print(h.digest())
print(h.hexdigest())
# 注:hmac是一种双重加密方法,前面是加密的内容,后面才是真实要传的数据信息
1
2
3
4
5
6
2
3
4
5
6
上次更新: 2024/3/13 15:35:10