4

SHA1を使用して、Crypto++を使用してランダムハッシュを生成する必要があります。現時点で私は持っています:

#include <cryptopp/sha.h>
#include <cryptopp/filters.h>
#include <cryptopp/hex.h>

...

CryptoPP::SHA1 sha1;
string source = "Hello";  //This will be randomly generated somehow
string hash = "";
StringSource(source, true, new HashFilter(sha1, new HexEncoder(new StringSink(hash))));

コンパイルすると、次のエラーが報告されます。

error: expected type-specifier before 'HashFilter'
error: expected ')' before 'HashFilter'
error: 'StringSource' was not declared in this scope

誰かが私がこれを機能させるのを手伝ってくれる?このライブラリを使用してこれを実行するはるかに簡単な方法はありますか?私はCrypto++を初めて使用するので、すべてのヘルプに感謝します。

ありがとう。

4

1 に答える 1

10

名前空間を正しく慎重に指定するだけです。

#include <cryptopp/sha.h>
#include <cryptopp/filters.h>
#include <cryptopp/hex.h>

#include <string>

int main()
{
  CryptoPP::SHA1 sha1;
  std::string source = "Hello";  //This will be randomly generated somehow
  std::string hash = "";
  CryptoPP::StringSource(source, true, new CryptoPP::HashFilter(sha1, new CryptoPP::HexEncoder(new CryptoPP::StringSink(hash))));
}
于 2011-08-08T12:10:07.783 に答える