У меня есть коллекция векторов типа 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";