详解如何在Python中做Hash加密

  • Post category:Python

在Python中实现Hash加密可以使用Python自带的hashlib库。hashlib库支持多种哈希算法,比如MD5、SHA-1、SHA-256等。下面就以SHA-256算法为例,讲解如何进行哈希加密。

导入hashlib库

首先,需要在代码中导入hashlib库,相应的代码如下:

import hashlib

创建哈希对象

使用hashlib库中提供的算法创建哈希对象。在这个例子中,我们使用SHA-256算法创建哈希对象的方式如下:

hash_obj = hashlib.sha256()

更新哈希值

在创建好哈希对象之后,需要将要加密的原始字符串更新到哈希对象中:

hash_obj.update(b"Hello, world!")

获取加密后的结果

最后,通过调用哈希对象的digest()方法获取密文,相应的代码如下:

result = hash_obj.digest()

完整代码如下:

import hashlib

hash_obj = hashlib.sha256()
hash_obj.update(b"Hello, world!")
result = hash_obj.digest()

print(result)

运行结果如下:

b'\xfaZj\x9e.W\xeb\x20\xb5\x03\xee\x04n\tKw\xa5\xf5\xe5\xe0\x14\xfa\t\x9e\xf5\xa1G2\x89\xab\xdf'

上述代码中,我们将字符串”Hello, world!”进行哈希加密,并将加密结果输出。

接下来,再看一个使用多次更新哈希值的例子:

import hashlib

hash_obj = hashlib.sha256()
hash_obj.update(b"Hello, ")
hash_obj.update(b"world!")
result = hash_obj.digest()

print(result)

运行结果与之前相同:

b'\xfaZj\x9e.W\xeb\x20\xb5\x03\xee\x04n\tKw\xa5\xf5\xe5\xe0\x14\xfa\t\x9e\xf5\xa1G2\x89\xab\xdf'

对于需要进行多次哈希的场景,只需要重复调用hash_obj.update()将需要加密的所有数据更新到哈希对象中即可。

总之,在Python中实现Hash加密,只需要导入hashlib库,并通过创建哈希对象、更新哈希值和获取加密结果三个步骤来实现加密。

希望以上内容能对你有所帮助!