如何使用python脚本计算sha512-hash?

时间:2018-04-07 11:58:52

标签: python hashlib

我们使用hashlib.sha512()创建sha512哈希但是sha512哈希怎么样? 这是正确的方法:

a= hashlib.sha512("data").hexdigest()[:32]

1 个答案:

答案 0 :(得分:1)

哈希减半(SHA256-half,SHA512-half ...)正在生成一个哈希并将其截断为其大小的一半,因此SHA512-half变为等效于SHA256。虽然较大的散列函数接受较大的输入,但一旦被截断,它具有与所述大小的非截断散列相同的碰撞率,并且如果我们所讨论的散列是固定的并且经过审查(如SHA256和SHA512) ,将较大的哈希减半以适应较小的哈希只能增加感知的安全性,但技术上只是生成较小的哈希。

无论如何,如果您真的不想生成SHA256,可以将SHA512哈希值减半:

halved_sha512 = hashlib.sha512(b"input").digest()[:32]

对于bytes或:

halved_sha512 = hashlib.sha512(b"input").hexdigest()[:64]

对于十六进制字符串。