您可以将sha256两次应用于单个字符串吗?

时间:2019-02-24 12:34:21

标签: python cryptography sha256

我已经写出了函数:

print(hashlib.sha256(hashlib.sha256(Encode(s))).hexdigest())

但是,似乎出现以下错误:

  

支持所需缓冲API的对象

我认为这是因为第二次哈希时,输入不是字节形式,因为它已经被哈希了。

我该如何解决此问题并将一个字符串哈希两次?

2 个答案:

答案 0 :(得分:0)

此代码(由suggestedjames-k-polk)如何?

print(hashlib.sha256(hashlib.sha256(s.encode('ascii')).digest()).hexdigest())

答案 1 :(得分:-1)

如果您想一行执行,则可以使用

from hashlib import sha256 as h
print(h(h("your_string".encode()).hexdigest().encode()).hexdigest())

# Gives: c94c01dafc045892773d67dabb3da8feb925e2c48e0373eab922da49f7fd269c
# Encrypted once: e10207f241d66a8c5f8202ed9fc22b94c031850dd54d8b03fdd40db4cbde5bfc