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加密的二次加密结果一样——>继续自己悟把。
原文地址:https://www.cnblogs.com/nuomin/p/7871685.html