Foros del Web » Programación para mayores de 30 ;) » Java »

Encripta Strings

Estas en el tema de Encripta Strings en el foro de Java en Foros del Web. Hola... la verdad es que no se si hay otros metodos para encriptar pero lo que queria hacer era obtener el char de un String, ...
  #1 (permalink)  
Antiguo 30/09/2009, 20:03
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Encripta Strings

Hola... la verdad es que no se si hay otros metodos para encriptar pero lo que queria hacer era obtener el char de un String, modificarlo con una operacion e irlo concatenandolo en otra string...
Ejemplo:

String aa="Secundaria"
=> char c='S' (lo transformo en otra letra)
y la voy armando en otra String
  #2 (permalink)  
Antiguo 01/10/2009, 09:16
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Encripta Strings

Este es un ejemplo que encontré por ahí y que modifiqué para hacerlo funcionar. Si quieres un encriptador distinto te daré algunas ideas, pero tendrás que currártelo tú.

public class PruebaEncriptacion {


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

String lee = new String();
String mayus = new String();
char caracter = 0;


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

char[] cadenasub = new char[tam+256];
for ( int i=0; i<cadenasub.length; i++){
cadenasub[i] = (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("Encriptada: ");

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

System.out.print(cadenasub[i]);
}

System.out.println();
System.out.println();
System.out.println("Quiere desencriptar 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("Desencriptada: ");

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[i]);
}
}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);
}

}

public static 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;
}

}


Con respecto a las ideas, si lo que quieres es cambiar una determinada letra por otra....
String aa = "Secundaria";
String nuevaPalabra;
for (int i=0, i<aa.length, i++) {
if (aa.charAt(i) == 'c') {
nuevaPalabra = aa.replace(charAt(i),'S');
}
//para cambiar una 'a'
if (aa.charAt(i) == 'a') {
nuevaPalabra = aa.replace(charAt(i),'o');
}
}

Y ten cuidado que no haga replaces sobre los elementos substituidos (para eso puedes usar booleans de control). Otra cosa sería armar un array de chars y cambiarlo directamente si en la cadena encuentra un char de un determinado valor, y la otra opción si tienes palabras en un string más largo y quieres cambiarlas por otras, sería truncar los espacios con un ltrim y detectar cuando aparece otro espacio y dejar las palabras por separado en un array de Strings, cambiando directamente la palabra que quieras controlar por otra...

Como ves tienes miles de maneras, solo tienes que saber exactamente qué es lo que quieres hacer y ponerte a ello.
  #3 (permalink)  
Antiguo 01/10/2009, 11:28
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: Encripta Strings

hola lolorod en las FAQs del foro viene un buen ejemplo de encriptacion que usa el algoritmo MD5 aqui esta el link y hay otro con blowfish aqui esta su link. y pues depende de que es lo que quieras hacer con el texto encriptado tu elijes el algoritmo. por ejemplo MD5 es muy bueno pero no se puede desencriptar

ojala y esto te sirva... saludos
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.