MSDN表示,在CryptVerifySignature()
之后,您无法重复使用HCRYPTHASH
对象来尝试散列更多数据,而是说您需要使用CryptDestroyHash()
和CryptCreateHash()
重新创建数据。 重用真的失败了。
任何人都熟悉可以保存这些电话的黑客,或者这真的不可能?
答案 0 :(得分:1)
我认为HCRYPTHASH
数据结构比仅用CryptVerifySignature()
调用更灵活。它设计用于(可能是不连续的)数据流(通过CryptHashData()
),这意味着它将一些状态存储在哈希的当前值中。因此,一旦你在流上使用它(甚至部分),状态就会不可逆转地改变,所以你不能在另一个流上使用它。
我猜他们可以为reset
结构提供HCRYPTHASH
函数......但他们没有!