From b6931e3196a4c5dd6e28cba7530791dc0a490105 Mon Sep 17 00:00:00 2001 From: avinal <185067@nith.ac.in> Date: Sun, 7 Mar 2021 23:51:59 +0530 Subject: [PATCH] sample test file added --- tests/Main.cpp | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 tests/Main.cpp diff --git a/tests/Main.cpp b/tests/Main.cpp new file mode 100644 index 0000000..3f7ffd2 --- /dev/null +++ b/tests/Main.cpp @@ -0,0 +1,66 @@ +/** + * /mnt/z/my_git/blowfish/src/Main.cpp + * @file Main.cpp + * @author Avinal Kumar + * @since March 06, 2021 + * + * Test Program + */ + +#include + +#include + +std::string from_uint(uint32_t sh) { + std::string re(""); + for (int i = 0; i < 4; i++) { + re += (unsigned char)(sh >> i * 8); + } + return re; +} + +int main(int argc, char const *argv[]) { + std::string key("test@pass47"); + std::string message("My name is Avinal and I am cute"); + std::string cipher(""); + int len = message.length(); + int j = sizeof(uint32_t); + int rem = + ((len > j * 2) ? (((len / j * 2) + 1) * j * 2 - len) : (j * 2 - len)); + message.append(rem, '\0'); + len = message.length(); + Blowfish blowfish(key); + std::cout << "My message is: " << message << std::endl; + uint32_t lm, rm; + for (size_t i = 0; i < len; i += 8) { + lm = 0; + rm = 0; + lm = *reinterpret_cast( + const_cast(message.substr(i, j).c_str())); + rm = *reinterpret_cast( + const_cast(message.substr(i + 4, j).c_str())); + blowfish.encrypt(lm, rm); + cipher += from_uint(lm) + from_uint(rm); + } + std::cout << cipher << std::endl; + std::string decipher(""); + len = cipher.length(); + std::cout << "length: " << len << std::endl; + for (size_t i = 0; i < len; i += 8) { + lm = 0; + rm = 0; + lm = *reinterpret_cast( + const_cast(cipher.substr(i, 4).c_str())); + rm = *reinterpret_cast( + const_cast(cipher.substr(i + 4, 4).c_str())); + blowfish.decrypt(lm, rm); + decipher += from_uint(lm) + from_uint(rm); + } + + std::cout << decipher << std::endl; + if (message == decipher) { + return 0; + } else { + return 1; + } +}