aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/aesxx
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-22 19:11:55 +0200
committerEgor Tensin <egor@tensin.name>2026-06-22 19:14:21 +0200
commitfa252b5b08f2095318c6628413fa5859970aa2f4 (patch)
treedb6143daa2824133d1c6158141ead30e66e4099a /aesxx
parentaesxx: refactoring (diff)
downloadaes-tools-fa252b5b08f2095318c6628413fa5859970aa2f4.tar.gz
aes-tools-fa252b5b08f2095318c6628413fa5859970aa2f4.zip
aesxx/utils: more refactoring
Diffstat (limited to 'aesxx')
-rw-r--r--aesxx/utils/decrypt_block.cpp10
-rw-r--r--aesxx/utils/encrypt_block.cpp10
-rw-r--r--aesxx/utils/helpers/cmd_parser_block.hpp54
3 files changed, 49 insertions, 25 deletions
diff --git a/aesxx/utils/decrypt_block.cpp b/aesxx/utils/decrypt_block.cpp
index f6bd8a3..be5c003 100644
--- a/aesxx/utils/decrypt_block.cpp
+++ b/aesxx/utils/decrypt_block.cpp
@@ -161,11 +161,13 @@ int main(int argc, char** argv) {
return 0;
}
- for (const auto& input : settings.inputs) {
- if (settings.use_boxes) {
- decrypt_using_boxes(settings.algorithm, settings.mode, input);
+ for (const auto& input : settings.get_inputs()) {
+ if (settings.use_boxes()) {
+ decrypt_using_boxes(settings.get_algorithm(), settings.get_mode(), input);
} else {
- decrypt_using_cxx_api(settings.algorithm, settings.mode, input, settings.verbose);
+ decrypt_using_cxx_api(
+ settings.get_algorithm(), settings.get_mode(), input, settings.verbose()
+ );
}
}
} catch (const aes::Error& e) {
diff --git a/aesxx/utils/encrypt_block.cpp b/aesxx/utils/encrypt_block.cpp
index a67cd6b..2e59634 100644
--- a/aesxx/utils/encrypt_block.cpp
+++ b/aesxx/utils/encrypt_block.cpp
@@ -164,11 +164,13 @@ int main(int argc, char** argv) {
return 0;
}
- for (const auto& input : settings.inputs) {
- if (settings.use_boxes) {
- encrypt_using_boxes(settings.algorithm, settings.mode, input);
+ for (const auto& input : settings.get_inputs()) {
+ if (settings.use_boxes()) {
+ encrypt_using_boxes(settings.get_algorithm(), settings.get_mode(), input);
} else {
- encrypt_using_cxx_api(settings.algorithm, settings.mode, input, settings.verbose);
+ encrypt_using_cxx_api(
+ settings.get_algorithm(), settings.get_mode(), input, settings.verbose()
+ );
}
}
} catch (const aes::Error& e) {
diff --git a/aesxx/utils/helpers/cmd_parser_block.hpp b/aesxx/utils/helpers/cmd_parser_block.hpp
index 0093617..68177f5 100644
--- a/aesxx/utils/helpers/cmd_parser_block.hpp
+++ b/aesxx/utils/helpers/cmd_parser_block.hpp
@@ -47,17 +47,9 @@ public:
std::vector<std::string> blocks;
};
- aes::Algorithm algorithm = AES_AES128;
- aes::Mode mode = AES_ECB;
-
- bool use_boxes = false;
- bool verbose = false;
-
- std::vector<Input> inputs;
-
explicit BlockSettings(std::string_view argv0) : SettingsParser{argv0} {
visible.add_options()(
- "verbose,v", boost::program_options::bool_switch(&verbose), "enable verbose output"
+ "verbose,v", boost::program_options::bool_switch(&_verbose), "enable verbose output"
);
visible.add_options()(
"algorithm,a",
@@ -73,15 +65,9 @@ public:
);
visible.add_options()(
"use-boxes,b",
- boost::program_options::bool_switch(&use_boxes),
+ boost::program_options::bool_switch(&_use_boxes),
"use the \"boxes\" interface"
);
- hidden.add_options()(
- "args",
- boost::program_options::value<std::vector<std::string>>(&args),
- "shouldn't be visible"
- );
- positional.add("args", -1);
}
const char* get_short_description() const override {
@@ -90,7 +76,16 @@ public:
}
void parse(int argc, char* argv[]) override {
+ std::vector<std::string> args;
+ hidden.add_options()(
+ "args",
+ boost::program_options::value<std::vector<std::string>>(&args),
+ "shouldn't be visible"
+ );
+ positional.add("args", -1);
+
SettingsParser::parse(argc, argv);
+
parse_inputs(
std::deque<std::string>{
std::make_move_iterator(args.begin()), std::make_move_iterator(args.end())
@@ -98,6 +93,26 @@ public:
);
}
+ aes::Algorithm get_algorithm() const {
+ return algorithm;
+ }
+
+ aes::Mode get_mode() const {
+ return mode;
+ }
+
+ const std::vector<Input>& get_inputs() const {
+ return inputs;
+ }
+
+ bool use_boxes() const {
+ return _use_boxes;
+ }
+
+ bool verbose() const {
+ return _verbose;
+ }
+
private:
void parse_inputs(std::deque<std::string>&& src) {
while (!src.empty())
@@ -142,5 +157,10 @@ private:
return blocks;
}
- std::vector<std::string> args;
+ aes::Algorithm algorithm;
+ aes::Mode mode;
+ std::vector<Input> inputs;
+
+ bool _use_boxes = false;
+ bool _verbose = false;
};