Added options and encryption function
This commit is contained in:
parent
30ff0b0283
commit
4a3fd1c568
68
cxor.cpp
68
cxor.cpp
|
@ -1,15 +1,22 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <boost/program_options.hpp>
|
#include <boost/program_options.hpp>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
namespace po = boost::program_options;
|
namespace po = boost::program_options;
|
||||||
|
|
||||||
void parseargs(int argc, char* argv[])
|
void parseargs(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
bool bInputHex = false;
|
||||||
|
bool bOutputHex = false;
|
||||||
|
std::string sInputFile;
|
||||||
|
std::string sOutputFile;
|
||||||
|
|
||||||
po::options_description desc("Allowed options");
|
po::options_description desc("Allowed options");
|
||||||
desc.add_options()
|
desc.add_options()
|
||||||
("help", "Print this message")
|
("help", "Print this message")
|
||||||
("input,i", "Specify an input file")
|
("input,i", po::value<std::string>(), "Specify an input file")
|
||||||
("ih", "Input data is in hex")
|
("ih", "Input data is in hex")
|
||||||
("output,o", "Specify an output file")
|
("output,o", "Specify an output file")
|
||||||
("oh", "Output data in hex")
|
("oh", "Output data in hex")
|
||||||
|
@ -29,45 +36,50 @@ void parseargs(int argc, char* argv[])
|
||||||
|
|
||||||
if (vm.count("input"))
|
if (vm.count("input"))
|
||||||
{
|
{
|
||||||
std::cout << "input works";
|
std::string file = vm["input"].as<std::string>();
|
||||||
|
std::string filecut = file.substr(1, file.length());
|
||||||
|
std::cout << filecut;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (vm.count(""))
|
if (vm.count("ih"))
|
||||||
{
|
{
|
||||||
|
bool bInputHex = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vm.count(""))
|
if (vm.count("output"))
|
||||||
{
|
{
|
||||||
|
std::string file = vm["output"].as<std::string>();
|
||||||
|
std::string filecut = file.substr(1, file.length());
|
||||||
|
std::cout << filecut;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vm.count(""))
|
if (vm.count("oh"))
|
||||||
{
|
{
|
||||||
|
bool bOutputHex = true;
|
||||||
}*/
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<char> xormessage(std::string sMessage, std::string sKey)
|
||||||
|
{
|
||||||
|
std::vector<char> cXORMessage;
|
||||||
|
int iKeyIndex = 0;
|
||||||
|
|
||||||
|
for (int iMessageIndex = 0; iMessageIndex < sMessage.length(); iMessageIndex++)
|
||||||
|
{
|
||||||
|
cXORMessage.push_back(sMessage[iMessageIndex] ^ sKey[iKeyIndex]);
|
||||||
|
iKeyIndex++;
|
||||||
|
if (iKeyIndex == sKey.length())
|
||||||
|
{
|
||||||
|
iKeyIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cXORMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
parseargs(argc, argv);
|
//parseargs(argc, argv);
|
||||||
|
xormessage("hello ", "key");
|
||||||
|
|
||||||
|
|
||||||
/*std::fstream fInput;
|
|
||||||
fInput.open(argv[1], std::ios::in);
|
|
||||||
if (!fInput)
|
|
||||||
{
|
|
||||||
std::cout << "File does not exist.";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char ch;
|
|
||||||
while (!fInput.eof())
|
|
||||||
{
|
|
||||||
fInput >> ch;
|
|
||||||
std::cout << ch;
|
|
||||||
}
|
|
||||||
std::cout << std::endl;
|
|
||||||
fInput.close();
|
|
||||||
}
|
|
||||||
return 0;*/
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue