当需要对一个数据进行加密处理时,Hash函数便是一种常见的加密方式,它可以将任意长度的输入内容(例如一段文本或者一个文件)映射成固定长度的哈希值,并且能够保证相同的输入内容得到的哈希值一定是相同的,而不同的输入内容得到的哈希值不同。
在Python中,我们可以使用hashlib模块进行Hash加密操作。下面通过两个示例,详细讲解如何在Python中进行Hash加密。
示例1:对一段文本进行Hash加密
首先,我们需要引入hashlib模块。
import hashlib
接着,我们可以定义一段文本:
text = 'Hello World'
然后,我们使用 hashlib.sha256() 方法对文本进行加密,这里选择使用 SHA-256 算法:
hash_object = hashlib.sha256(text.encode())
最后,我们可以将加密后的哈希值打印出来:
hex_dig = hash_object.hexdigest()
print(hex_dig)
完整代码如下:
import hashlib
text = 'Hello World'
hash_object = hashlib.sha256(text.encode())
hex_dig = hash_object.hexdigest()
print(hex_dig)
输出结果:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
可以看到,我们成功地使用Hash算法对一段文本进行了加密处理。
示例2:对文件进行Hash加密
我们同样可以使用 hashlib 模块对文件进行Hash加密。下面,我们以一张图片作为示例。
首先,我们需要打开图片,读取二进制文件:
with open('./example.png', 'rb') as f:
file_content = f.read()
然后,我们可以使用 hashlib.sha256() 方法,对文件内容进行Hash加密:
hash_object = hashlib.sha256(file_content)
最后,我们将加密后的哈希值打印出来:
hex_dig = hash_object.hexdigest()
print(hex_dig)
完整代码如下:
import hashlib
with open('./example.png', 'rb') as f:
file_content = f.read()
hash_object = hashlib.sha256(file_content)
hex_dig = hash_object.hexdigest()
print(hex_dig)
输出结果:
a153aabaaabfeceea486e25e2ff1b9d0b13c1407a79526021c85e826b1ebc4ad
可以看到,我们成功地使用Hash算法对图片文件进行了加密处理。
综上所述,以上是如何在Python中做 Hash 加密的详细攻略。