Added utilities to work with files

This commit is contained in:
Leonetienne
2021-12-06 01:33:55 +01:00
parent a322e9ea98
commit 65f80b5d2d
6 changed files with 74 additions and 21 deletions

View File

@@ -5,23 +5,34 @@
int main()
{
// Load file to be encrypted
const Flexblock file = ReadFileToBits("images.jpg");
std::cout << "Finished reading..." << std::endl;
// Prepare cipher
FeistelMan feistel("Password yo");
const std::string message = "I am a veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeery long message!";
std::cout << "Cleartext: " << message << std::endl;
// Encrypt
const Flexblock ciphertext = feistel.Encipher(StringToBits(message));
const std::string cipherHex = BitsToHexstring(ciphertext);
const Flexblock ciphertext = feistel.Encipher(file, true);
//const std::string cipherHex = BitsToHexstring(ciphertext);
std::cout << "Finished encrypting..." << std::endl;
std::cout << "Ciphertext: " << cipherHex << std::endl;
// Save encrypted file
WriteBitsToFile("encrypted.jpg", ciphertext);
std::cout << "Finished writing..." << std::endl;
// Decrypt
const Flexblock cleartextBits = feistel.Decipher(HexstringToBits(cipherHex));
std::cout << "Decrypted: " << BitsToString(cleartextBits) << std::endl;
//const Flexblock cleartextBits = feistel.Decipher(HexstringToBits(cipherHex));
const Flexblock cleartextBits = feistel.Decipher(ciphertext, true);
std::cout << "Finished decrypting..." << std::endl;
// Save decrypted file
WriteBitsToFile("decrypted.jpg", cleartextBits);
std::cout << "Finished writing..." << std::endl;
return 0;
}