我收集了std::vector<uint8_t>
类型的向量,并且我需要为每个向量存储一个散列值。
我想为此使用crypto ++。但我不确定是否可行。据我所知,如果将其设置为std::vector<byte>
,我将可以。但是,我所看到的示例还提供了std::vector<byte>
中的哈希值。那我想用crypto ++做什么还是我需要寻找另一个库?如果是,您能提供一个例子吗?
编辑: 字节指针(https://www.cryptopp.com/wiki/User_guide:_cryptlib.h)的示例:
byte const* pbData1 = ...;
byte const* pbData2 = ...
unsigned int nData1Len = ...;
unsigned int nData2Len = ...;
byte abDigest[SHA::DIGESTSIZE];
SHA hash;
hash.Update(pbData1, nData1Len);
hash.Update(pbData2, nData2Len);
hash.Final(abDigest);
// abDigest now contains the hash of pbData1 and pbData2;
// the object 'hash' can now be reused to calculate another digest
...
SHA hash;
hash.Update(pbData1, nData1Len);
hash.Update(pbData2, nData2Len);
if (!hash.Verify(abDigest))
throw "abDigest does not contain the right hash";