хэш sha1 для std :: vectorиспользуя crypto ++ - PullRequest
0 голосов
/ 09 октября 2018

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