📜  python 从字符串创建哈希 - Python (1)

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

Python从字符串创建哈希

哈希函数是在计算机科学中广泛使用的一种算法。将任意长度的消息压缩到固定长度的哈希值中,通常是一个小的十六进制字符串。哈希用于唯一标识文件,数字签名以及加密等领域。Python中内置的hash()函数可以轻松的创建哈希值。本文将介绍如何从字符串中创建哈希值。

hash()函数

hash()函数是Python中内置的函数,它接受一个对象并返回其哈希值。

string = 'python'
hash_value = hash(string)

print('String:', string)
print('Hash value:', hash_value)

输出:

String: python
Hash value: 5283783448932160102

可以看到,哈希函数根据输入的字符串计算出了一串数字作为字符串的唯一标识。

hashlib模块

Python中的hashlib模块提供了几种常见的哈希函数。这些函数与hash()函数不同之处在于它们使用的哈希算法不同,但它们都可以用来创建哈希。

  • md5:该算法创建的哈希值长度为128位,通常用于加密、数字签名等领域。
  • sha1:该算法创建的哈希值长度为160位,是一种安全的哈希。
  • sha256:该算法创建的哈希值长度为256位,相对于sha1来说更加安全。

下面是一个演示如何使用hashlib模块创建哈希值的例子。

import hashlib

string = 'python'
hash_md5 = hashlib.md5(string.encode())
hash_sha1 = hashlib.sha1(string.encode())
hash_sha256 = hashlib.sha256(string.encode())

print('MD5 hash:', hash_md5.hexdigest())
print('SHA1 hash:', hash_sha1.hexdigest())
print('SHA256 hash:', hash_sha256.hexdigest())

输出:

MD5 hash: 30654bc6d408a6eca679a2dfddc5f0bb
SHA1 hash: 22bfa144e10b1fb9b4cf86b4b147ec8d4ad55189
SHA256 hash: f972f8e522e47c20f9d30aae4896783e3fc15a03a399cf8aad47f74c01b3640c

以上代码创建了字符串'python'的MD5、SHA1和SHA256哈希,并将它们打印到控制台。

总结

哈希是一种在计算机科学中广泛使用的算法,它通常用于标识文件、数字签名、加密等领域。Python中内置的hash()函数可以轻松地从字符串中创建哈希值,而hashlib模块则提供了常见的哈希算法,包括MD5、SHA1和SHA256。使用哈希可以让我们在处理大量数据时更加高效,并确保数据的唯一性。