質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

2954閲覧

Visual Studio 2013でCrypto++を使う

Rocco

総合スコア7

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/10/02 15:29

名前の後に '::~ ' を付けることができるのはクラス名または名前空間名だけです

私はC++でファイルの暗号化復号化の勉強をしています。
C++の勉強中でもあります。
以下のコードに出会ったので試しに実行してみたいのですがエラーになってしまいます。

#include <iostream> #include <aes.h> #include <dh.h> #include <modes.h> #include <osrng.h> // 鍵データ初期化 void InitKey(byte* key, size_t size) { for (size_t i = 0; i < size; ++i) { key[i] = rand(); } } // メイン関数 int main() { // 共通鍵・IV byte key[CryptoPP::AES::DEFAULT_KEYLENGTH]; byte iv[CryptoPP::AES::BLOCKSIZE]; // 共通鍵とIVを適当な値で初期化 InitKey(key, sizeof(key)); InitKey(iv, sizeof(iv)); std::string plainText = "暗号化される前の平文"; std::cout << "Plain Text : " << plainText << std::endl; // 暗号化オブジェクトの作成 CryptoPP::CTR_Mode<cryptoPP::AES>::Encryption enc; enc.SetKeyWithIV(key, sizeof(key), iv); // 暗号化のための変換フィルタの作成 std::string encText; CryptoPP::StreamTransformationFilter encFilter(enc, new CryptoPP::StringSink(encText)); // 暗号化 encFilter.Put(reinterpret_cast<const byte*>(plainText.c_str()), plainText.size()); encFilter.MessageEnd(); std::cout << "Encrypted Text : " << encText << std::endl; // 復号化オブジェクトの作成 CryptoPP::CTR_Mode<cryptoPP::AES>::Decryption dec; dec.SetKeyWithIV(key, sizeof(key), iv); // 復号化のための変換フィルタの作成 std::string decText; CryptoPP::StreamTransformationFilter decFilter(dec, new CryptoPP::StringSink(decText)); decFilter.Put(reinterpret_cast<const byte*>(encText.c_str()), encText.size()); decFilter.MessageEnd(); std::cout << "Decrypted Text : " << decText << std::endl; return 0; }

エラーになるところ

CryptoPP::CTR_Mode<cryptoPP::AES>::Encryption enc; CryptoPP::CTR_Mode<cryptoPP::AES>::Decryption dec;

名前の後に '::~ ' を付けることができるのはクラス名または名前空間名だけですという風に出ます。
どう直したらよいのでしょうか。

参考文献

http://ftvoid.com/blog/post/283

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

C++

1CryptoPP::CTR_Mode<cryptoPP::AES>::Encryption enc; 2CryptoPP::CTR_Mode<cryptoPP::AES>::Decryption dec;

C++

1CryptoPP::CTR_Mode<CryptoPP::AES>::Encryption enc; 2CryptoPP::CTR_Mode<CryptoPP::AES>::Decryption dec;

投稿2020/10/02 21:51

Reach

総合スコア735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Rocco

2020/10/03 06:38

お忙しいところ、お答えいただきありがとうございます。 大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問