📜  获取哈希 python (1)

📅  最后修改于: 2023-12-03 15:27:49.363000             🧑  作者: Mango

获取哈希 Python

哈希在计算机科学中是一个重要的概念,也被称为散列。哈希将任意长度的消息映射为固定长度的消息摘要(类似于指纹),并且哈希函数会给同一输入生成同一输出。哈希函数在密码学、数据完整性检查等领域有广泛应用。

在 Python 中,可以使用 hashlib 模块进行哈希操作。该模块提供了多种哈希算法,如 SHA-1、SHA-256、SHA-512、MD5 等等。下面是一个简单的例子:

import hashlib

# 创建 SHA-256 哈希对象
hash_object = hashlib.sha256(b'Hello World')
# 计算哈希值
hash_value = hash_object.hexdigest()

print(hash_value)

输出:

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

注意,在计算哈希值时,需要将原始数据转换为 bytes 类型,并将其传递给哈希对象的 update() 方法,最后调用 hexdigest() 方法以获取十六进制表示的哈希值。

除了使用 hashlib 模块外,还可以使用第三方模块,如 PyCryptodome、cryptography 等等。这些模块提供了更多的哈希算法和功能。例如,在 PyCryptodome 中,可以将哈希对象存储为二进制格式:

from Crypto.Hash import SHA256

# 创建 SHA-256 哈希对象
hash_object = SHA256.new(b'Hello World')
# 获取二进制格式的哈希值
hash_value = hash_object.digest()

print(hash_value)

输出:

b'\xb9M\'\xb9\x934\xd3\xe0\x8aR\xe5-\x7d\xa7\xda\x7d\xab\xfa\xc4\x84\xef\xe3zS\x80\xee\x90\x88\xf7\xac\xe2\xef\xcd\xe9'

总的来说,Python 提供了丰富的哈希操作功能,可以满足各种需求。