Skip to content
Snippets Groups Projects
Commit ed646bef authored by Marcela Ribeiro de Oliveira's avatar Marcela Ribeiro de Oliveira
Browse files

começando filtro

parent ed2e0934
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
#include "playfair.h"
#define ACCEPTED 1
#define REJECTED 0
int filter(std::string text, const std::string key);
void parser(std::string &text);
#include "include/playfair.h"
#include "include/playunfair.h"
#include <fstream>
void parser(std::string &text){
text.erase(std::remove(text.begin(), text.end(), ' '), text.end());
std::transform(text.begin(), text.end(), text.begin(), ::tolower);
}
int main(int argc, char *argv[]){
if(argc!=3){
std::cout << "Uso: ./playunfair <file-in> <file-out>" << std::endl;
if(argc!=4){
std::cout << "Uso: ./playunfair <file-in> <file-out> <dicionarion>" << std::endl;
return 0;
}
std::fstream input, output;
char *inputName, *outputName;
std::string aux="", key = "cachorro", crip; //a key vai vir do dicionario futuramente
std::ostringstream text;
std::fstream input, output, dict;
char *inputName, *outputName, *dictName;
std::string aux="", key, crip; //a key vai vir do dicionario futuramente
std::ostringstream text, keys;
inputName = argv[1];
outputName = argv[2];
dictName = argv[3];
input.open(inputName, std::ifstream::in);
if(!input.good()){
......@@ -32,10 +29,37 @@ int main(int argc, char *argv[]){
std::cout<<text.str()[2] << std::endl;
crip = text.str();
parser(crip);
std::cout << crip << std::endl;
crip = playfair(crip, key, CRYPT);
std::cout << crip << std::endl;
//std::cout << crip << std::endl;
dict.open(dictName, std::ifstream::in);
if(!dict.good()){
std::cout << "Nao foi possivel abrir o dicionario" << std::endl;
return 0;
}
//TODO: if filter returns accepted print key and text in file
while(std::getline(dict, aux)){
keys << aux;
key = keys.str();
crip = playfair(crip, key, DECRYPT);
std::cout << crip << std::endl;
std::cout << key << std::endl;
keys.str("");
keys.clear();
filter(crip, key); //chamar filtro para cada key
}
//crip = playfair(crip, key, DECRYPT);
//std::cout << crip << std::endl;
return 0;
}
void parser(std::string &text){
text.erase(std::remove(text.begin(), text.end(), ' '), text.end());
std::transform(text.begin(), text.end(), text.begin(), ::tolower);
}
int filter(std::string text, const std::string key){
//TODO: if ( 4 primeiras letras sem vogal ||
// 3 char -('o') iguais seguidos ||
// 5 consoantes ||
......@@ -46,7 +70,5 @@ int main(int argc, char *argv[]){
// )
// { elimina texto: muda pra proxima chave}
crip = playfair(crip, key, DECRYPT);
std::cout << crip << std::endl;
return 0;
return ACCEPTED;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment