Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. =================OTWIERANIE PLIKU PRZEZ EKSPLORER ORAZ WPISYWANIE DO LINEEDIT=======================
  2.  
  3.     QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/path/to/file/");
  4.     ui->pathEncryptLineEdit->             setText(fileName);
  5.  
  6. ====================ZAPISYWANIE DO PLIKU ====================
  7.  QString fileName = QFileDialog::getSaveFileName(this,
  8.            tr("Save file"), "",
  9.            tr("Text (*.txt)"));
  10.     if (fileName.isEmpty())
  11.             return;
  12.         else {
  13.             QFile file(fileName);
  14.             if (!file.open(QIODevice::WriteOnly)) {
  15.                 QMessageBox::information(this, tr("Unable to open file"),
  16.                     file.errorString());
  17.                 return;
  18.             }
  19.  
  20.            QTextStream out(&file);
  21.             out<<ZASZYFROWANA WIADOMOŚĆ
  22.  
  23. //***** Funkcja szyfrująca *****//
  24. QString MainWindow::encrypt(QString text, QString key){
  25.     QByteArray textBinary = text.toUtf8();
  26.     QByteArray keyBinary  = key.toUtf8();
  27.     QByteArray encryptTextBinary = QByteArray();
  28.  
  29.  
  30.     encryptTextBinary.resize(textBinary.size());
  31.  
  32.  
  33.     for (int i = 0; i<textBinary.length(); i++){
  34.         encryptTextBinary[i] = textBinary[i] ^ keyBinary[i % keyBinary.size()];
  35.     }
  36.     qDebug()<<encryptTextBinary.toBase64(QByteArray::Base64Encoding | QByteArray::KeepTrailingEquals);
  37.     return encryptTextBinary.toBase64(QByteArray::Base64Encoding | QByteArray::KeepTrailingEquals);
  38. }
  39. //***** Funkcja deszysfrująca *****//
  40. QString MainWindow::decrypt(QString text, QString key){
  41.     QByteArray textBinary = QByteArray::fromBase64(text.simplified().remove(" ").remove("\n").toUtf8(), QByteArray::Base64Encoding | QByteArray::KeepTrailingEquals);
  42.     QByteArray keyBinary  = key.toUtf8();
  43.     QByteArray decryptTextBinary = QByteArray();
  44.  
  45.     decryptTextBinary.resize(textBinary.size());
  46.  
  47.  
  48.     for(int i = 0; i<textBinary.length(); i++){
  49.         decryptTextBinary[i] = textBinary[i] ^ keyBinary[i % keyBinary.size()];
  50.     }
  51.     qDebug()<<decryptTextBinary;
  52.     return decryptTextBinary;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement