The Modern C++ Challenge 第11章

The Modern C++ Challenge 第10章 の続きです。

今回は第11章に挑戦します。

まずは目次を読む。

第11章 暗号化

88 シーザー暗号
89 ヴィジュネル暗号
90 Base64 エンコーディングとデコーディング
91 ユーザー資格情報の検証
92 ファイルハッシュの計算
93 ファイルの暗号化と復号化
94 ファイル署名

問題文を読む。

問88 シーザー暗号
右ローテーションと任意のシフト値を持つ Caesar 暗号を使用して、メッセージを暗号化および復号化できるプログラムを作成します。
簡単にするために、プログラムは大文字のテキスト メッセージのみを考慮し、文字のみをエンコードし、数字、記号、およびその他の種類の文字を無視する必要があります。

ソースコードを斜め読みして実行する。 この章は外部ライブラリを使っていて、 すんなり実行できなかった。

問91 問92 にて cryptopp ライブラリを使っている。 ビルドして共有ライブラリ(libcryptopp.a) を作成する。

cryptopp

一通り実行できたので、
Modern C++ に着目して、ソースコードを読んでみる。

問92 問93 にて std::filesystem を使っている。

.cppreference: std::filesystem

第11章 のソースコードGithub に公開した。
https://github.com/ohwada/The-Modern-Cpp-Challenge/tree/main/The-Modern-Cpp-Challenge/Chapter11