Foro sobre Java SE > (Intento) cifrar vuestro nombre con cifrado de rotación (Con Metodos)
import java.io.*;
/* Es un tipo de cifrado por sustitución en el que una letra en el texto original * es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto. * * Para codificar un mensaje, simplemente se debe buscar cada letra de la línea del texto original y escribir la * letra correspondiente en la línea codificada. Para decodificarlo se debe hacer lo contrario. * author RAULDL */
public class cifrado { // rotar (cifrar y descrifrar) // metodos hacer public static void cifrar() throws IOException{
//Cadenas original y pass final String pass = "ijklnñopqrstuvwxyzacegbdhf"; final String original = "abcdefghijklnñopqrstuvwxyz"; BufferedReader bLeido = new BufferedReader (new FileReader ("C:\\datos.txt")); BufferedWriter bEscrito = new BufferedWriter (new FileWriter ("C:\\codificado.txt"));
//Codificar los datos del fichero de entrada String mensaje = null; //asignamos las lineas de caracteres de datos.txt a mensaje while((mensaje=bLeido.readLine())!=null){ System.out.println("\n Mensaje original de datos.txt : " + mensaje); char[] arrayChar = mensaje.toCharArray(); //convertimos las cadena de arrays a caracteres mensaje=""; //comprobamos la longitud de el array for (int i = 0; i < arrayChar.length; i++) { for (int j = 0; j < original.length(); j++) { if (arrayChar[i]==original.charAt(j)) { mensaje+= pass.charAt(j); } } } System.out.println("Leyendo texto a descifrar_______"); System.out.println("Mensaje cifrado : " + mensaje); bEscrito.write(mensaje+"\n"); //ecribir el mensaje en el archivo atra vez de bEscrito. } bEscrito.close(); } public static void main(String[] args, String pass, String original, BufferedReader bLeido, BufferedWriter bEscrito) throws IOException { cifrar(); } }
import java.io.*;
/* Es un tipo de cifrado por sustitución en el que una letra en el texto original
* es reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto.
*
* Para codificar un mensaje, simplemente se debe buscar cada letra de la línea del texto original y escribir la
* letra correspondiente en la línea codificada. Para decodificarlo se debe hacer lo contrario.
* author RAULDL
*/
public class cifrado {
// rotar (cifrar y descrifrar)
// metodos hacer
public static void cifrar() throws IOException{
//Cadenas original y pass
final String pass = "ijklnñopqrstuvwxyzacegbdhf";
final String original = "abcdefghijklnñopqrstuvwxyz";
BufferedReader bLeido = new BufferedReader (new FileReader ("C:\\datos.txt"));
BufferedWriter bEscrito = new BufferedWriter (new FileWriter ("C:\\codificado.txt"));
//Codificar los datos del fichero de entrada
String mensaje = null;
//asignamos las lineas de caracteres de datos.txt a mensaje
while((mensaje=bLeido.readLine())!=null){
System.out.println("\n Mensaje original de datos.txt : " + mensaje);
char[] arrayChar = mensaje.toCharArray(); //convertimos las cadena de arrays a caracteres
mensaje="";
//comprobamos la longitud de el array
for (int i = 0; i < arrayChar.length; i++) {
for (int j = 0; j < original.length(); j++) {
if (arrayChar[i]==original.charAt(j)) {
mensaje+= pass.charAt(j);
}
}
}
System.out.println("Leyendo texto a descifrar_______");
System.out.println("Mensaje cifrado : " + mensaje);
bEscrito.write(mensaje+"\n"); //ecribir el mensaje en el archivo atra vez de bEscrito.
}
bEscrito.close();
}
public static void main(String[] args, String pass, String original, BufferedReader bLeido, BufferedWriter bEscrito) throws IOException {
cifrar();
}
}