Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package unsch.efpis.cifrador;
  2.  
  3. /**
  4.  *
  5.  * @author sin_querer@hotmail.com
  6.  */
  7. public class CifradorPolybios {
  8.  
  9.     String tablaPolybiosLetras[][] = {
  10.         {"AA", "AB", "AC", "AD", "AE"},
  11.         {"BA", "BB", "BC", "BD", "BE"},
  12.         {"CA", "CB", "CC", "CD", "CE"},
  13.         {"DA", "DB", "DC", "DD", "DE"},
  14.         {"EA", "EB", "EC", "ED", "EE"}
  15.     };
  16.     String tablaPolybiosNumeros[][] = {
  17.         {"11", "12", "13", "14", "15"},
  18.         {"21", "22", "23", "24", "25"},
  19.         {"31", "32", "33", "34", "35"},
  20.         {"41", "42", "43", "44", "45"},
  21.         {"51", "52", "53", "54", "55"}
  22.     };
  23.  
  24.     public String getTextoCifradoEnLetras(char parTextoClaro) {
  25.         String parTextoCifrado = "";
  26.         int codigoAscciiParTextoClaro = (int) (parTextoClaro);
  27.         if (codigoAscciiParTextoClaro != 32) {
  28.             if (codigoAscciiParTextoClaro > 73) {
  29.                 codigoAscciiParTextoClaro -= 1;
  30.             }
  31.  
  32.             int indiceX = (codigoAscciiParTextoClaro - 65) / 5;
  33.             int indiceY = (codigoAscciiParTextoClaro % 5);
  34.  
  35.             parTextoCifrado = tablaPolybiosLetras[indiceX][indiceY];
  36.         } else {
  37.             parTextoCifrado = " ";
  38.         }
  39.  
  40.         return parTextoCifrado;
  41.     }
  42.  
  43.     public String getTextoCifradoEnNumeros(char parTextoClaro) {
  44.         String parTextoCifrado = "";
  45.         int codigoAscciiParTextoClaro = (int) (parTextoClaro);
  46.         if (codigoAscciiParTextoClaro != 32) {
  47.             if (codigoAscciiParTextoClaro > 73) {
  48.                 codigoAscciiParTextoClaro -= 1;
  49.             }
  50.  
  51.             int indiceX = (codigoAscciiParTextoClaro - 65) / 5;
  52.             int indiceY = (codigoAscciiParTextoClaro % 5);
  53.  
  54.             parTextoCifrado = tablaPolybiosNumeros[indiceX][indiceY];
  55.         } else {
  56.             parTextoCifrado = " ";
  57.         }
  58.  
  59.         return parTextoCifrado;
  60.     }
  61. }