用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法
1 import hashlib
2 m = hashlib.md5()
3
4 m.update("hello".encode("utf8")) # 5d41402abc4b2a76b9719d911017c592
5 print(m.hexdigest())
6
7
8 m.update("helloroot".encode("utf8")) # f90f8b5f87682af9df4e5c987cbafe0d
9 print(m.hexdigest())
10
11
12 m.update(‘alvin‘.encode(‘utf8‘))
13
14 print(m.hexdigest()) #903cd26186ff2c09487219d8c8112d7c
15
16 m2 = hashlib.md5()
17 m2.update(‘helloalvin‘.encode(‘utf8‘))
18
19 print(m2.hexdigest()) #92a7e713c30abbb0319fa07da2a5c4af
以上加密算法虽然依然非常厉害,但有时候存在缺陷,即通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。
原文:https://www.cnblogs.com/jianguo221/p/9017270.html