C++でファイルを暗号化するのにCrypto ++を使用しています。私は以下のコードを使用しています。エラー: 'GlobalRNG'がこのスコープで宣言されていません
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
#include <cryptopp/cryptlib.h>
#include <cryptopp/sha.h>
#include <cryptopp/secblock.h>
#include <cryptopp/files.h>
#include <cryptopp/queue.h>
#include <cryptopp/hex.h>
#include <cryptopp/base64.h>
#include <cryptopp/filters.h>
#include <cryptopp/osrng.h>
#include <cryptopp/integer.h>
#include <cryptopp/dh.h>
#include <cryptopp/sha.h>
#include <cryptopp/modes.h>
#include <cryptopp/eax.h>
#include <cryptopp/tea.h>
#include <cryptopp/blowfish.h>
#include <cryptopp/pssr.h>
#include <cryptopp/rsa.h>
#include <cryptopp/nbtheory.h>
#include <cryptopp/eccrypto.h>
#include <cryptopp/oids.h>
#include <cryptopp/modes.h>
#include <cryptopp/gzip.h>
#include <cryptopp/blowfish.h>
#include <cryptopp/rsa.h>
#include <cryptopp/rng.h>
#include <cryptopp/cryptlib.h>
#include <cryptopp/filters.h>
#include <cryptopp/rdrand.h>
using namespace std;
using namespace CryptoPP;
しかし残念ながら、コードがGlobalRNGが宣言されていないことを言って
を動作しません:
それはヘッダが含まれていないので、私は自分自身を追加したファイル!
error: ‘GlobalRNG’ was not declared in this scope
私はGoogleで検索し、私はそれはバグだことを発見し、固定されているが、私は最新バージョン抱えている2日間のためのソリューションを探して保持:5.6.3を!
このエラーがなぜ表示されているのかわかりません。バージョン5.6.3 GlobalRNG
で
これを宣言するヘッダーファイルを見つけるためにヘッダーファイルをgrepし、 '#include 'します。 –
@SamVarshavchikもちろん私はそれをしました!!!!私はそれを宣言しているものは見つけられませんでした! – MeNotMe
私はそのリンクを深く疑っています。適切に書かれた非対称暗号が「データ不一致エラー」を生成する方法はありません。また、対称キーを文字で構成する必要はありません。十分なランダムバイトを生成し、それを使用します。 (明らかに、対称鍵でバルクデータを暗号化するアプローチは正しいです。) –