Changeset bd66191 in comparacioncriptosistemas for interfaz/criptosistemas.cpp


Ignore:
Timestamp:
Sep 28, 2016, 5:09:02 PM (8 years ago)
Author:
lhernandez <lhernandez@…>
Branches:
interfaz
Children:
99b8c3f
Parents:
25a5325
Message:

modificacion en la interfaz, preparada para las validaciones en el tamaño del archivo y mensajes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • interfaz/criptosistemas.cpp

    r25a5325 rbd66191  
    2727using namespace pol;
    2828using namespace CryptoPP;
     29QString dir;
    2930
    3031CriptoSistemas::CriptoSistemas(QWidget *parent) :
     
    4142        ui->decifrar->setEnabled(true);
    4243        connect(ui->cifrar,SIGNAL(clicked()),this,SLOT(CifrarArchivo()));
     44        connect(ui->decifrar, SIGNAL(clicked()), this, SLOT(DescifrarArchivo()));
    4345        ui->progressBar->setVisible(false);
    4446    }
     
    156158    ui->centralPage->addWidget(pushSeleccionar, 0,1);
    157159    ui->centralPage->addWidget(pushDescargar, 2,2);
    158     connect(pushSeleccionar, SIGNAL(clicked()), this, SLOT(OpenFolder()));
    159 
    160 
     160    pushDescargar->setObjectName("pushDescargar");
     161
     162    connect(pushSeleccionar, &QPushButton::clicked,[=] {
     163        emit OpenFolderForCrifrar();
     164    });
     165    if(dir != "")
     166    {
     167        connect(pushDescargar, SIGNAL(clicked()), this, SLOT(SaveFile()));
     168    }
     169    else
     170    {
     171
     172    }
     173
     174}
     175
     176void CriptoSistemas::OpenFolderForCrifrar()
     177{
     178    dir = QFileDialog::getOpenFileName(this,tr("Select file"),"/home",tr("Files (*.txt);;All files (*.*)"));
     179    QPushButton *pushDescargar = findChild<QPushButton*>("pushDescargar");
     180    connect(pushDescargar, SIGNAL(clicked()), this, SLOT(SaveFile()));
     181
     182}
     183
     184void CriptoSistemas::SaveFile()
     185{
     186    QString dir_save = QFileDialog::getSaveFileName(0,"Save file",QDir::currentPath(),
     187            "Text files (*.txt)",
     188                new QString("Text files (*.txt)"));
     189
     190    qDebug()<<dir;
    161191    // Cifrado
    162     /*
    163     string plain="RSA Encryption";
     192    string plain;
     193    string ruta = dir.toStdString();
     194    string save = dir_save.toStdString();
     195    FileSource texto_plano(ruta.c_str(), true, new StringSink(plain));
    164196    FileSource file("keys/pubkey.txt", true, new Base64Decoder);
    165197    RSAES_OAEP_SHA_Encryptor pubkey(file);
     
    167199    StringSource ss1( plain, true,
    168200        new PK_EncryptorFilter( rng, pubkey,
    169             new FileSink( "cifrados/data.dat" )
     201            new FileSink( save.c_str() )
    170202        ) // PK_EncryptorFilter
    171203     ); // StringSource
    172     qDebug()<<"Cifrando";*/
    173 }
    174 
    175 QString CriptoSistemas::OpenFolder()
    176 {
    177     QString dir = QFileDialog::getOpenFileName(this,tr("Select file"),"/home",tr("Files (*.txt)"));
    178     return dir;
     204    dir = "";
    179205}
    180206
    181207void CriptoSistemas::DescifrarArchivo()
    182208{
    183 
     209    QPushButton *pushSeleccionar = new QPushButton("&Seleccionar Archivo ...", this);
     210    QPushButton *pushDescargar = new QPushButton("&Descifrar en ...", this);
     211    QString cifrando = "<html><head/><body><p><img src=':/static/cenditel.png' width='110' height='80' style='float: left;'/></p><p align='center'><span style= 'font-size:16pt; font-weight:600; font-style:italic; color:#ff0000;'>Decifrar Archivo</span></p></body></html>";
     212    ui->titulo->setText(cifrando);
     213    QString img = "<html><head/><body><p align='center'><p align='center'><img src=':/static/descifrar.png'/></p></body></html>";
     214    ui->imgCentral->setText(img);
     215    QPushButton *pushcifrar = findChild<QPushButton*>("cifra");
     216    QPushButton *pushDescifrar = findChild<QPushButton*>("descifrar");
     217    if(pushcifrar && pushDescifrar){
     218        pushcifrar->setVisible(false);
     219        pushDescifrar->setVisible(false);
     220    }
     221    ui->centralPage->addWidget(ui->imgCentral, 0,2);
     222    ui->centralPage->addWidget(pushSeleccionar, 0,1);
     223    ui->centralPage->addWidget(pushDescargar, 2,2);
     224    pushDescargar->setObjectName("pushDescargarEn");
     225    connect(pushSeleccionar, SIGNAL(clicked()), this, SLOT(OpenFolderForDescifrar()));
     226}
     227
     228
     229void CriptoSistemas::Ayuda()
     230{
     231
     232}
     233
     234
     235void CriptoSistemas::OpenFolderForDescifrar()
     236{
     237    dir = QFileDialog::getOpenFileName(this,tr("Select file"),"/home",tr("Files (*.txt);;All files (*.*)"));
     238    QPushButton *pushDescargar = findChild<QPushButton*>("pushDescargarEn");
     239    QPushButton *pushDescarga = findChild<QPushButton*>("pushDescargar");
     240    if (pushDescarga)
     241    {
     242        pushDescarga->setVisible(false);
     243    }
     244    connect(pushDescargar, SIGNAL(clicked()), this, SLOT(SaveFileForDescifrado()));
     245}
     246
     247
     248void CriptoSistemas::SaveFileForDescifrado()
     249{
     250    QString dir_save = QFileDialog::getSaveFileName(0,"Save file",QDir::currentPath(),
     251            "Text files (*.txt)",
     252                new QString("Text files (*.txt)"));
     253    qDebug()<<dir;
    184254    // Descifrado
    185     /*
    186255    AutoSeededRandomPool rng;
    187256    string str;
     257    string ruta = dir.toStdString();
     258    string save = dir_save.toStdString();
    188259    FileSource file("keys/privkey.txt", true, new Base64Decoder);
    189     FileSource cifrado("cifrados/data.dat", true, new StringSink(str));
     260    FileSource cifrado(ruta.c_str(), true, new StringSink(str));
    190261    RSAES_OAEP_SHA_Decryptor d(file);
    191262
    192263    StringSource ss2(str, true,
    193264        new PK_DecryptorFilter(rng, d,
    194             new FileSink( "descifrados/data_des.txt" )
     265            new FileSink( save.c_str() )
    195266       ) // PK_DecryptorFilter
    196267    ); // StringSource
    197     qDebug()<<"DesCifrando";*/
    198 }
    199 
    200 
    201 void CriptoSistemas::Ayuda()
    202 {
    203 
    204 }
     268    qDebug()<<"DesCifrando";
     269    dir = "";
     270}
Note: See TracChangeset for help on using the changeset viewer.