Advertisement
AlvaroOrtiz

DescifradoSinClave.java

Mar 31st, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.58 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.cuarentena;
  7.  
  8. import java.io.*;
  9. import java.util.Scanner;
  10.  
  11. /**
  12.  *
  13.  * @author Álvaro Ortiz Falcón y Arturo Martínez Menor
  14.  */
  15. public class DescifradoSinClave {
  16.  
  17.     public static void main(String[] args) {
  18.  
  19.         Scanner sc = null;
  20.         String palabra[];
  21.         String palabraCifrada;
  22.         FileWriter myobj = null;
  23.         int desplazarletra;
  24.         int contador;
  25.         int contadormax = 0;
  26.         int letraclave = 0;
  27.  
  28.         try {
  29.             File cifrado = new File(args[0]);
  30.             File f1 = new File(cifrado.getName() + ".uncfr");
  31.             sc = new Scanner(cifrado);
  32.             myobj = new FileWriter(f1);
  33.  
  34.             while (sc.hasNextLine()) {
  35.                 palabra = sc.nextLine().split(" ");
  36.                 for (String c : palabra) {
  37.                     char letra[] = c.toCharArray();
  38.                     for (char d : letra) {
  39.                         for (int i = 0; i < 25; i++) {
  40.                             contador = 0;
  41.                             if (Character.getNumericValue(d) - 10 == i) {
  42.                                 contador++;
  43.                             }
  44.                             if (contador > contadormax) {
  45.                                 contadormax = contador;
  46.                                 letraclave = Character.getNumericValue(d) - 10;
  47.                             }
  48.                         }
  49.                     }
  50.                     desplazarletra = (Character.getNumericValue('E') - 10) - letraclave;
  51.                     palabraCifrada = Cifrar.Cifra(desplazarletra, c);
  52.                     myobj.write(palabraCifrada + " ");
  53.                 }
  54.                 myobj.write("\n");
  55.             }
  56.             System.out.println("Archivo descifrado correctamente");
  57.         } catch (Exception e) {
  58.             System.out.println("Vaya... parece que algo no ha salido bien, puede que no se encuentre el archivo especificado o que no funcione el descifrado cosa bastante improbable");
  59.             e.printStackTrace();
  60.         } finally {
  61.             if (sc != null) {
  62.                 sc.close();
  63.             }
  64.             if (myobj != null) {
  65.                 try {
  66.                     myobj.close();
  67.                 } catch (Exception e) {
  68.                     System.out.println("Algo ha salido mal y el fichero no se ha podido cerrar bien revisa el código");
  69.                 }
  70.             }
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement