public class Mi_utils {
public static String cifradoCesar
(String contenidoFicheroString,
int desplazamiento
) {
String abcMin
= "abcdefghijklmnopqrstuvwxyz";
String abcMax
= abcMin.
toUpperCase();
char letra;
int posicionInicial;
int posicionFinal;
for (int i = 0; i < contenidoFicheroString.length(); i++) {
letra = contenidoFicheroString.charAt(i);
posicionInicial = abcMin.indexOf(letra);
posicionFinal = posicionInicial + desplazamiento;
if (posicionFinal > 25) {
posicionFinal = posicionFinal % 26;
} else if (posicionFinal < 0) {
posicionFinal = 26 + posicionFinal;
}
letra = abcMin.charAt(posicionFinal);
}
posicionInicial = abcMax.indexOf(letra);
posicionFinal = posicionInicial + desplazamiento;
if (posicionFinal > 25) {
posicionFinal = posicionFinal % 26;
} else if (posicionFinal < 0) {
posicionFinal = 26 + posicionFinal;
}
letra = abcMax.charAt(posicionFinal);
}
textoCifrado = textoCifrado + letra;
}
return textoCifrado;
}
public static String cifrarFichero
(String nombreFichero,
int desplazamiento
) {
ArrayList<Character> contenidoFichero = new ArrayList<Character>();
try {
System.
out.
println("ERROR--->" + ex.
getMessage());
}
try {
int caracter = fr.read();
while (caracter != -1) {
contenidoFichero.add((char) caracter);
caracter = fr.read();
}
System.
out.
println("ERROR ---> " + ex.
getMessage());
}
String contenidoFicheroString
= "";
char caracterACaracter = '1';
for (int i = 0; i < contenidoFichero.size(); i++) {
caracterACaracter = contenidoFichero.get(i);
contenidoFicheroString
= contenidoFicheroString
+ String.
valueOf(caracterACaracter
);
}
// System.out.print(contenidoFicheroString);
System.
out.
println("------------------------------------");
String textoCifrado
= cifradoCesar
(contenidoFicheroString, desplazamiento
);
//System.out.print(textoCifrado);
return textoCifrado;
}
public static int obtenerDesplazamiento
(String textoCifrado
) {
String abcMin
= "abcdefghijklmnopqrstuvwxyz";
int[] cuentaLetras = new int[26];
int posicionRepetida = 0;
int mayor = 0;
int desplazamiento;
for (int i = 0; i < textoCifrado.length(); i++) {
for (int j = 0; j < abcMin.length(); j++) {
if (textoCifrado.charAt(i) == abcMin.charAt(j)) {
cuentaLetras[j] = cuentaLetras[j] + 1;
}
}
}
for (int i = 0; i < cuentaLetras.length; i++) {
if (cuentaLetras[i] > mayor) {
mayor = cuentaLetras[i];
posicionRepetida = i;
}
}
desplazamiento = 4 - posicionRepetida;
return desplazamiento;
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}