cifrar ayuda

Iniciado por cojon, 17 Diciembre 2009, 02:33 AM

0 Miembros y 1 Visitante están viendo este tema.

cojon

chequen este programa

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.InputStreamReader;
import java.io.IOException;

public class EncriptarArchivo {
   public static void main (String[] args) throws IOException {
      BufferedReader dato = new BufferedReader(new InputStreamReader(System.in));
      int opcion;
      do{
         System.out.println("cifrar......[1]");
         System.out.println("descifrar...[2]");
         System.out.println("Salir..........[3]");
         System.out.print("elige una opcion: ");
         opcion = Integer.parseInt(dato.readLine());
         switch(opcion)
         {
            case 1:
               try{
                  FileReader archivo = new FileReader("TEXTO.TXT");
                  BufferedReader leerarchivo = new BufferedReader(archivo);
                  FileWriter destino = new FileWriter("cifrar.txt", false);
                  PrintWriter guardar = new PrintWriter(destino);
                  int c;
                  while((c= leerarchivo.read())!=-1)
                  {
                     c += 128;
                     char letra = (char) c;
                     guardar.print(letra);
                  }
                  guardar.close();
                  leerarchivo.close();
                  }catch(Exception err)
                  {
                     System.out.print(err.toString());
                  }
                  break;
            case 2:
               try{
                  FileReader archivo = new FileReader("cifrar.TXT");
                  BufferedReader leerarchivo = new BufferedReader(archivo);
                  FileWriter destino = new FileWriter("Texto.txt", false);
                  PrintWriter guardar = new PrintWriter(destino);
                  int c;
                  while((c= leerarchivo.read())!=-1)
                  {
                     c -= 128;
                     char letra = (char) c;
                     guardar.print(letra);
                  }
                  guardar.close();
                  leerarchivo.close();
                  }catch(Exception err)
                  {
                     System.out.print(err.toString());
                  }
                  break;
         } // switch
      } while(opcion!=3);
   }
}

bueno muchos ya deben de saber como funciona, deben crear 2 archivos de texto en la misma carpeta que guardas el archivo java ,uno llamado texto y otro cifrar, en el de texto  va la palabra a encripatr, y en el cifrar, aparecera el texto ya cifrado, el caso es que si metes una letra en el archivo texto, te aparecera una letra en el elcriptador, si metes una palabra por ejemplo de seis letras en el archivo texto, aparecera seis letras en cifrar, lo que yo quiero es que al meter una letra salgan 8, espero me puedan ayudar, tengo una idea pero hasta alli   :-(

Leyer

1 letra? y y se guarden 8 de la misma no te entiendo muy bien

SL2

cojon

Cita de: L-EYER en 17 Diciembre 2009, 03:19 AM
1 letra? y y se guarden 8 de la misma no te entiendo muy bien

SL2


si colega, si meto una letra en el archivo texto.txt  me generar  8 letras en el archivo cifrar, ejemplo   texto=a   el archivo cifrado generado seria= abcdefgh,


dije abcdefgh pero pudieran aver sido otras no necesariamente esas

cojon

checate este codigo, metes una letra y te genera 8

public class Encriptador1{
public static void main(java.lang.String[] args) {

Encriptador1 crypt = new Encriptador1();
Lectura obj = new Lectura();
String lee = new String();
String mayus = new String();
char caracter = 0;


lee = obj.lectura();
int tam = lee.length();

char[] cadenasub = new char[tam+7];
for ( int i=0; i<cadenasub.length; i++){
cadenasub = (char) ((Math.random() * 41)+48); }

mayus = lee.toUpperCase();

for ( int i = 0; i < mayus.length(); i++ ){

cadenasub[5*i] = mayus.charAt(i);
}
System.out.println();

System.out.println("cifrada: ");

for ( int i = 0; i < cadenasub.length;i++){

System.out.print(cadenasub);
}

System.out.println();
System.out.println();
System.out.println("Quiere descifrar la cadena ?( S / N)");

try {
caracter = (char) System.in.read();
System.in.skip(2);

}catch (java.io.IOException e) {
System.out.println(e.getMessage());
}

if( caracter == 'S') {
System.out.println("descifrada : ");


char[] a = new char[tam];

for ( int i = 0, j = 0; i < cadenasub.length && j < tam;i++,j++) {

a[j] = cadenasub[5*i];
}


for ( int i = 0; i < tam; i++){

System.out.print(a);
}
}else if(caracter == 'N'){
System.out.println("Adios");
System.exit(1);
}else{
System.out.println("Debe introducir S ó N");
System.out.println("Adios");
System.exit(1);
}

}
}


sl2

Leyer

el segundo code que colocaste no funciona  >:( ..una pregunta para que guardarlo en el texto.txt cuando lo puedes guarda de una ves al cifrar.txt :huh:

Saludos.

cojon

Cita de: L-EYER en 17 Diciembre 2009, 04:30 AM
el segundo code que colocaste no funciona  >:( ..una pregunta para que guardarlo en el texto.txt cuando lo puedes guarda de una ves al cifrar.txt :huh:

Saludos.




no compila por que le falta el lectura, aqui esta se me fue  :-[

public class Lectura{
public String lectura() {
String s=new String();
String temp=new String();
char cad;
System.out.println("Introduce una cadena");

try {
while ((cad = (char) System.in.read())!='\n')
s += cad;
}catch (java.io.IOException e) {
System.out.println(e.getMessage());
}

for (int i=0; i<s.length()-1; i++)
temp += s.charAt(i);

return temp;
}
}

perdon se me fue, pero aora si checalo  veras, y si se guarda en encripatar

Blitzkrieg'

Saben una cosa... existe una etiqueta llamada code que sirve para hacer mas legible nuestro codigo  :-X



Debci

Cita de: Partenaire en 17 Diciembre 2009, 14:04 PM
Saben una cosa... existe una etiqueta llamada code que sirve para hacer mas legible nuestro codigo  :-X
Me lo has quitado de la boca... xD
Code y poned code=java para que haga 'higthligth' ( :xD ) en el lexico del programa.

Saludos

Leyer

#8
tranki jeje entonces no me respondiste"para que guardarlo en el texto.txt cuando lo puedes guarda de una ves al cifrar.txt" :P

cyberserver

tararara usa Xor

sintaxis ^

Investigale esta mejor que crear un algoritomo de encriptacion!!!! ;D