>>> import hashlib
>>> m = hashlib.sha256()
>>> m.update(b"Nobody inspects")
>>> m.update(b" the spammish repetition")
>>> m.digest()
b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf\x0c\x95\x0fK\x94\x06'
>>> m.hexdigest()
'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'
>>> hashlib.sha256(b"Nobody inspects the spammish repetition").hexdigest()
'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'
大概用法
import hashlib
# hashlib提供SHA1, SHA224, SHA256, SHA384 和 SHA512 (定义于 FIPS 180-2) 以及 RSA 的 MD5 算法
def encrypt(message, algorithm):
m = hashlib.new(algorithm, message.encode(encoding='utf-8'))
return m.hexdigest()
if __name__ == "__main__":
print(encrypt("Hello World", "sha1"))
print(encrypt("Hello World", "sha224"))
print(encrypt("Hello World", "sha256"))
print(encrypt("Hello World", "sha384"))
print(encrypt("Hello World", "sha512"))
print(encrypt("Hello World", "md5"))
# 0a4d55a8d778e5022fab701977c5d840bbc486d0
# c4890faffdb0105d991a461e668e276685401b02eab1ef4372795047
# a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
# 99514329186b2f6ae4a1329e7ee6c610a729636335174ac6b740f9028396fcc803d0e93863a7c3d90f86beee782f4f3f
# 2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b
# b10a8db164e0754105b7a99be72e3fe5
详情参考Python文档
参考
hashlib --- 安全哈希与消息摘要 — Python 3.11.2 文档
【Python】计算文件的MD5、SHA1、SHA256值(校验文件完整性)_python计算文件md5_Xavier Jiezou的博客-CSDN博客