现代术语是安全哈希。

 

  每种类型的哈希都具有一个命名构造函数(此模块中始终存在的散列算法的构造函数为md5()sha1()sha224()sha256()sha384()sha512())。摘要。

  例一(计算一串数据的MD5):

 1 import hashlib
 2 
 3 str1 = b"hello "
 4 str2 = b"world"
 5 str3 = b"hello world"
 6 
 7 m1 = hashlib.md5()             #生成一个md5对象
 8 m1.update(str1)                #以bytes类型填充md5对象
 9 m1.update(str2)
10 m2 = hashlib.md5()
11 m2.update(str3)
12 
13 #digest()返回传递给update()方法的数据的摘要。它是一个大小为digest_size的字节对象,包含的字节可以在0到255整个范围。
14 print("m1 hexdigest: ", m1.digest())
15 print("m2 hexdigest: ", m2.digest())
16 #hexdigest()类似digest(),但是摘要以2倍长度的字符串对象返回,只包含十六进制数字。这可用于在电子邮件或其它非二进制环境中安全交换数据。
17 print("m1 hexdigest: ", m1.hexdigest())
18 print("m2 hexdigest: ", m2.hexdigest())
19 
20 
21 
22 
23 
24 >>>:
25 m1 hexdigest:  b'^\xb6;\xbb\xe0\x1e\xee\xd0\x93\xcb"\xbb\x8fZ\xcd\xc3'
26 m2 hexdigest:  b'^\xb6;\xbb\xe0\x1e\xee\xd0\x93\xcb"\xbb\x8fZ\xcd\xc3'
27 m1 hexdigest:  5eb63bbbe01eeed093cb22bb8f5acdc3
28 m2 hexdigest:  5eb63bbbe01eeed093cb22bb8f5acdc3
View Code

相关文章: