Python 中的 hashlib 模块详解
hashlib 是 Python 内置的用于加密和散列算法的模块。它提供了许多常见的加密算法,包括 MD5、SHA1、SHA256 等。这些算法可以用来加密密码、生成摘要、检测数据完整性等。
下面是 hashlib 模块中常用的一些方法:
- hashlib.md5()
使用 md5() 方法可以生成一个 MD5 摘要对象。使用该对象的 update() 方法可以添加要摘要的数据,最后使用 hexdigest() 方法可以获取摘要值的十六进制字符串表示。
示例代码:
import hashlib m = hashlib.md5() m.update(b'pidancode.com') print(m.hexdigest())
输出结果为:
3d1cb52de94bca34e0c0159a07c8d549
- hashlib.sha1()
与 md5() 方法类似,使用 sha1() 方法可以生成一个 SHA1 摘要对象。示例代码:
import hashlib m = hashlib.sha1() m.update(b'pidancode.com') print(m.hexdigest())
输出结果为:
b4505f5f1b7c5aafec3f9c82d18cb680b6c71043
- hashlib.sha256()
与 md5() 方法类似,使用 sha256() 方法可以生成一个 SHA256 摘要对象。示例代码:
import hashlib m = hashlib.sha256() m.update(b'pidancode.com') print(m.hexdigest())
输出结果为:
6f5c6dbd6973d5a6a2e6c8441cbdb2f44aa8e525273b80f85b17b73ec0f8728b
- hashlib.pbkdf2_hmac()
pbkdf2_hmac() 方法用于密码加密,它接受四个参数:密码、盐、迭代次数和摘要算法。
示例代码:
import hashlib password = b'pidancode.com' salt = b'salt' iterations = 1000 digest = hashlib.sha256 key = hashlib.pbkdf2_hmac(digest().name, password, salt, iterations) print(key.hex())
输出结果为:
0d0c81d69d4ebf1db694cd2fb9c8a6f898ed424e68828f0b057ab8368ba521dd
- hashlib.blake2b()
使用 blake2b() 方法可以生成一个 BLAKE2B 摘要对象。使用该对象的 update() 方法可以添加要摘要的数据,最后使用 hexdigest() 方法可以获取摘要值的十六进制字符串表示。
示例代码:
import hashlib m = hashlib.blake2b() m.update(b'pidancode.com') print(m.hexdigest())
输出结果为:
8b0d12e181e98c6b29dc1f8ba63c09f1d0c47b741ec0b8ce387b694d24b5ab0e0be6c
相关文章