hashlib 模块为 [[Python]] 提供了一些常用的加密哈希算法的实现,比如 MD5、SHA-1、SHA-256 等。
hashlib
函数
带命名的函数,比 [[#.new()]] 方法更快。
.md5()
生成 MD5 哈希对象(不安全,不推荐使用)。
import hashlib
text = "hello world"# 方式一md5 = hashlib.md5(text.encode()).hexdigest()
# 方式二md5 = hashlib.md5()md5.update(text.encode('utf-8'))md5.hexdigest().sha256()
生成 SHA-256 哈希对象。
import hashlib
text = "hello world"
sha256 = hashlib.sha256(text.encode("utf-8")).hexdigest().sha1()
.sha224()
.sha384()
.sha512()
.sha3_256()
.sha3_384()
.sha3_512()
.new()
生成指定哈希算法的哈希对象。
import hashlib# 写法三: new 方法, 可以自定义指定加密方式m = hashlib.new("sha256")m.update(b"hello world")m.hexdigest() # 返回: '9f083d4e474d93914f366d8f97d69f77'方法
.update()
更新哈希对象。
import hashlib
h = hashlib.new("sha256")h.update(b"hello world").hexdigest()
返回十六进制字符串。
import hashlib
h = hashlib.sha256(b"hello world")h.hexdigest()# 返回: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9.digest()
返回二进制字符串。
import hashlib
h = hashlib.sha256(b"hello world")h.digest()# 返回: b"\xb9M'\xb9\x93M>\x08\xa5.R\xd7\xda}\xab\xfa\xc4\x84\xef\xe3zS\x80\xee\x90\x88\xf7\xac\xe2\xef\xcd\xe9"属性
.name: 哈希算法名称.digest_size: 哈希值的字节大小