コード例 #1
0
void MainWindow::on_pushButton_clicked()
{
    QString in = ui->leftEditor->toPlainText();
    in.replace(" ", "");
    in.replace("\n", "");
    
    // Check code
    bool err = false;
    for(int i=0; i<in.length(); i++)
    {
        QChar c = in.at(i);
        if((c>='0' && c<='9') || (c>='a' && c<='f') || (c>='A' && c<='F'));
        else {
            err = true;
            break;
        }
    }
    
    if(err) {
        ui->rightEditor->setText("");
        return;
    }
    
    QString ret;
    while(in.length() >= 16)
    {
        QString convert = in.left(16);
        in.remove(0, 16);
        
        // Decrypt
        if(ui->radioButtonLeftARv1->isChecked())
            convert = encryptLine(convert, true, false);
        else
        if(ui->radioButtonLeftARv3->isChecked())
            convert = encryptLine(convert, true, true);
        
        // Encrypt
        if(ui->radioButtonRightARv1->isChecked())
            convert = encryptLine(convert, false, false);
        else 
        if(ui->radioButtonRightARv3->isChecked())
            convert = encryptLine(convert, false, true);
        
        // Format
        if(ui->radioButtonFormat2->isChecked())
            convert.insert(8, " ");
        else if(ui->radioButtonFormat3->isChecked())
            convert.insert(8, "\n");
        
        ret += convert + "\n";
    }
    
    ui->rightEditor->setText(ret);
}
コード例 #2
0
ファイル: dog.c プロジェクト: ritmatter/dog
/* A function that determines how to give output
   based on the switches */
void generateOutput(char *line) {
  
  //check if numbering and encryption is activated
    if (num == 1 && littleM == 1) {
      char encryptedLine[strlen(line)];
      encryptLine(line, encryptedLine);
      printf("%d %s",lineNum, encryptedLine);
      lineNum++;
    }

    //check if numbering and decryption is activated
    else if (num == 1 && bigM == 1) {
      char decryptedLine[strlen(line)];
      decryptLine(line, decryptedLine);
      printf("%d %s", lineNum, decryptedLine);
      lineNum++;
    }

    //check if numbering is activated
    else if (num == 1) {
      printf("%d %s", lineNum, line);
      lineNum++;
    }

    //check if encryption is activated
    else if (littleM == 1) {
      char encryptedLine[strlen(line)];
      encryptLine(line, encryptedLine);
      printf("%s", encryptedLine);
    }
    
    //check if decryption is activted
    else if (bigM == 1) {
      char decryptedLine[strlen(line)];
      decryptLine(line, decryptedLine);
      printf("%s", decryptedLine);
    }
    
    //otherwise no switches are activated
    else {
      printf("%s", line);
    }
}