Python hashlib模块教程

蟒蛇 哈希库 模块提供哈希和安全相关函数的方法。hashlib提供FIPS安全哈希算法,如SHA1、SHA224、SHA256、SHA384、SHA512和rsamd5。这些哈希算法也称为“安全哈希”或“消息摘要”。hashlib基于OpenSSL库,这是一个非常流行的库,提供加密库和函数。

列出可用的哈希算法

有些算法适用于所有平台和操作系统,但有些算法不适用。当前平台的可用哈希算法可以与算法可用变量一起列出。

import hashlibprint(hashlib.algorithms_available)

输出如下。

{'blake2b', 'sha512_224', 'sha1', 'shake_128', 'md5', 'shake_256', 'sha384', 'sm3', 'sha224', 'sha3_224', 'sha3_384', 'ripemd160', 'md5-sha1', 'whirlpool', 'sha256', 'sha3_256', 'blake2s', 'sha512_256', 'md4', 'sha3_512', 'sha512'}

计算sha1

Sha1是sha家族的第一个哈希算法。这个 沙一 可以用 更新() sha1对象的方法。我们要计算sha1的数据可以作为参数提供。

import hashlibsha1 = hashlib.sha1()data = "this is a text"sha1.update(data.encode("utf-8"))print(sha1.hexdigest())

sha1的输出如下所示。

703c445982e074e33a05c161d221217f2facbf5e

计算sha256

sha1不像现在这样安全,sha256应该作为一个安全的替代品。在下面的示例中,我们将计算所提供数据的sha256。

import hashlib

sha256 = hashlib.sha256()

data = "this is a text"

sha256.update(data.encode("utf-8"))

print(sha256.hexdigest())

输出如下。我们可以看到它是256位,相当于32个字节。

01c917c4fae3bfd2937f008cf7a2f0ab3f55bf5ac404dc3f68429b72e565c4ef
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享