【发布时间】:2018-10-28 01:28:31
【问题描述】:
我使用此代码通过 crypto++ 验证消息:
CryptoPP::ECDSA<CryptoPP::ECP, CryptoPP::SHA256>::Verifier verifier(key);
bool result = verifier.VerifyMessage( (const CryptoPP::byte*)message.data(), message.length(), (const CryptoPP::byte*)signature.data(), signature.length() );
现在我想验证我之前为文件创建的签名。该文件非常大(GB),我不想将它一次性加载到内存中(到消息变量)。
crypto++有没有办法验证大文件的签名?
【问题讨论】:
-
为什么不使用
sha256或md5哈希码来验证文件?? -
我想签署文件,这样没人可以修改它。
-
所以,使用文件的哈希码就可以做到。如果您有文件
hash代码并且有人只修改了文件的bit,那么文件的hash代码将会更改...实际上hash代码是文件的标志。 -
相信我,非对称加密签名是我需要使用的方式。文件和签名从不安全的环境中传给我的验证者。如果我只使用哈希,攻击者可以简单地提供修改后的文件和重新计算的哈希。
-
你试过this修改为
FileSource吗?