📅  最后修改于: 2023-12-03 15:19:26.945000             🧑  作者: Mango
hashlib
模块是Python中用于生成安全哈希算法的模块,提供多种哈希算法,如MD5、SHA1、SHA256等。而shake_256()
是其中一种算法。
shake_256()
是一种可扩展输出函数(SHA-3)的一种变种,它使用了SHA-3竞赛中的换蛋算法(Ketje)。该算法最初被设计为SHA-3的备选方案,其设计是为高性能哈希和加密而优化的。它输出长度可变,但默认为256位。
hashlib.shake_256(data= None)
:返回一个新的shake_256
Hash对象。如果提供了data
参数,则使用该参数为Hash对象加入初始文本。
import hashlib
# 生成 Hash 对象
hash_obj = hashlib.shake_256()
# 将数据添加到 Hash 对象
hash_obj.update(b'Hello, world!')
# 获取 Hash 值
hash_res = hash_obj.hexdigest(16)
print(hash_res) # 8c0f28d924b97e59c5ae0bc8bfa329866fd622172cf79550
以上示例中,我们先生成了一个shake_256
的Hash对象,并将字符串'Hello, world!'
添加到Hash对象中。最后,我们可以通过.hexdigest()
方法获取结果哈希值。
值得一提的是,由于shake_256
算法的输出长度是可变的,我们可以通过指定参数的方式调整输出长度。例如代码片段中的hexdigest(16)
参数指定以16字节为输出长度。