pyhton3 hashlib模块
hashlib模块提供一下常量属性
hashlib.algorithms_guaranteed
获取保证在所有平台上此模块支持的哈希算法名称的集合
hashlib.algorithms_available
获取可以运行在Python解释器中的哈希算法名称的集合
哈希对象常用的方法
h = hashlib.md5() 或 h = hashlib.new("md5") # md5可以替换为其他的哈希类型
h.update(arg)
将字节对象arg填充到哈希对象中,arg通常为要加密的字符串
update()方法需要接收的参数是一个字节对象(字节字符串,如:b"Hello,World!"或"Hello World".encode="utf8")
h.digest()
返回加密结果,它是一个字节对象,长度为 h.digest_size,包含的字节范围 0 ~ 255
h.hexdigest()
返回加密结果,它是一个字符串对象,长度为 h.digest_size * 2,只包含16进制数字
1 import hashlib
2
3 # 1.创建一个hash对象
4 m = hashlib.md5()
5
6 # 2.填充要加密的数据
7 m.update("password".encode("utf8")) #或者 h.update(b"password")
8
9 # 3.获取加密结果
10 print(m.hexdigest()) #5f4dcc3b5aa765d61d8327deb882cf99
11
12 # 4.二次加密
13 m.update("admin".encode("utf8"))
14 print(m.hexdigest()) #80a19f669b02edfbc208a5386ab5036b
15
16 # 5.再次创建一个hash对象
17 m1 = hashlib.md5()
18
19 # 6.填充要加密的数据
20 m1.update("passwordadmin".encode("utf8"))
21
22 # 7.获取加密结果
23 print(m1.hexdigest()) #80a19f669b02edfbc208a5386ab5036b
24
25 #m1加密的结果等于m加密的二次加密结果一样——>继续自己悟把。