elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  programa java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa java  (Leído 2,618 veces)
javieer

Desconectado Desconectado

Mensajes: 14


Ver Perfil
programa java
« en: 27 Febrero 2019, 17:11 pm »

Hola a todos,

estoy completando un programa en el que a traves de una funcion " static char[] encriptacionpalabras (int tamañopalabra) {} , al introducir una palabra se devuelve esta con la misma longitud pero con asteriscos, tengo que completar el codigo de la funcion. alguna pista? deberia empezar con un for?

Gracias.


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.355


Ver Perfil
Re: programa java
« Respuesta #1 en: 27 Febrero 2019, 18:37 pm »

Hay varias formas de acometerlo...

- Una muy sencilla es conociendo la cantidad de caracteres que tiene la palabra, crear otra del mismo tamaño formado solo por asteriscos. La palabra original no se ve así alterada.
- Si el tamaño de las palabras está limitado a un máximo (pongamos 16-20 caracteres), por velocidad puede crearse un array cuyo contenido sean precisamente strings de 1,2,3,4...hasta 16 asteriscos, cuando se reciba la palabra, se devuelve el string contenido en la posición cuyo índice coincide con el tamaño de caracteres de la palabra recibida. La palabra original no se ve así alterada.
- Otro modo... inicias un bucle y remplazas cada carácter aparecido por un asterisco. La palabra original si queda alterada en este otro caso.

...y ahora es tu turno de escribir código...


En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: programa java
« Respuesta #2 en: 27 Febrero 2019, 18:43 pm »

Yo te recomiendo que añadas otro parámetro y que lo denomines clave, de esa forma podrás usar una clave para cifrar las palabras o textos y hacer más seguro, según el algortimo, la cifrado.

Luego te pongo un ejmeplo que ahora me tengo que ir.
En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: programa java
« Respuesta #3 en: 28 Febrero 2019, 00:34 am »

Código
  1. ...
  2.    public static String encriptaTexto(String clave, String texto){
  3.        String textoEncriptado= new String();
  4.        int i=0;
  5.        char cClave;
  6.        for (char caracter:texto.toCharArray()){
  7.            cClave = clave.charAt((i++)% clave.length());
  8.            textoEncriptado+=(""+(char)(caracter+cClave));
  9.        }
  10.        return textoEncriptado;
  11.    }
  12.  
  13.    public static String desencriptaTexto(String clave, String textoEncriptado){
  14.        String texto= new String();
  15.        int i=0;
  16.        char cClave;
  17.        for (char caracter:textoEncriptado.toCharArray()){
  18.            cClave = clave.charAt((i++)% clave.length());
  19.            texto+=(""+(char)(caracter-cClave));
  20.        }        
  21.        return texto;
  22.    }
  23.  
  24.    public static void main(String[] args) {
  25.        String textoEncriptado=encriptaTexto("1234","Hola mundo");
  26.  
  27.        System.out.println(textoEncriptado);        
  28.        System.out.println(desencriptaTexto("1234",textoEncriptado));        
  29.    }
  30. ...

Resultado:
y¡Ÿ•QŸ¨¢•¡
Hola mundo
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.355


Ver Perfil
Re: programa java
« Respuesta #4 en: 28 Febrero 2019, 15:18 pm »

srWhiteSkull, nota que no pide cifrar nada, tan solo 'tapar' la clave con asteriscos, lo cual es trivial.
Citar
...al introducir una palabra se devuelve esta con la misma longitud pero con asteriscos...
En línea

javieer

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: programa java
« Respuesta #5 en: 7 Marzo 2019, 18:04 pm »

gracias a todos por la respuesta, ya logré hacer que convirtiera el texto a asteriscos aunque ahora me falta una funcion booleana que cuando aciertes una letra desaparezca el asterisco como lo puedo hacer¿
En línea

spcruzaley

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: programa java
« Respuesta #6 en: 8 Marzo 2019, 22:13 pm »

Que tal javieer

No se como hiciste tu implementacion, pero aqui te dejo una propuesta que hice y que quiza puedas adaptar a tus necesidades.

Código
  1. public class Pruebas {
  2.  
  3.    private String palabra;
  4.    private char[] palabraEncriptada;
  5.  
  6.    public static void main(String[] args) {
  7.        Pruebas pruebas = new Pruebas("unapalabra");
  8.        pruebas.cifra();
  9.        pruebas.log();
  10.        pruebas.validarLetra('n');
  11.        pruebas.log();
  12.        pruebas.validarLetra('a');
  13.        pruebas.log();
  14.        pruebas.validarLetra('r');
  15.        pruebas.log();
  16.        pruebas.validarLetra('l');
  17.        pruebas.log();
  18.    }
  19.  
  20.    public Pruebas(String palabra) {
  21.        this.palabra = palabra;
  22.    }
  23.  
  24.    public void cifra() {
  25.        char[] asteriscos = new char[palabra.length()];
  26.        Arrays.fill(asteriscos, '*');
  27.        this.palabraEncriptada = Arrays.copyOf(asteriscos, asteriscos.length);
  28.    }
  29.  
  30.    public void validarLetra(char letra) {
  31.        int posicion = this.palabra.indexOf(letra);
  32.  
  33.        if(posicion >= 0) {
  34.            this.palabraEncriptada[posicion] = letra;
  35.        }
  36.    }
  37.  
  38.    public void log() {
  39.        System.out.println(Arrays.toString(this.palabraEncriptada));
  40.    }
  41. }
  42.  

Log de salida:
Código
  1. [*, *, *, *, *, *, *, *, *, *]
  2. [*, n, *, *, *, *, *, *, *, *]
  3. [*, n, a, *, *, *, *, *, *, *]
  4. [*, n, a, *, *, *, *, *, r, *]
  5. [*, n, a, *, *, l, *, *, r, *]
  6.  


Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programa de Java
Java
belerofonte 1 2,941 Último mensaje 17 Marzo 2005, 09:18 am
por Ambolius
Programa java
Java
JUSEMS 1 2,489 Último mensaje 12 Junio 2005, 15:48 pm
por Ragnarok
programa java
Ejercicios
Hiras 3 7,347 Último mensaje 4 Junio 2011, 05:32 am
por dakomt
pasar un programa de java.swit a java.io
Java
javier210186 1 2,808 Último mensaje 17 Marzo 2013, 03:54 am
por javier210186
[JAVA] Programa irresoluble en java
Java
Unchained 7 3,910 Último mensaje 6 Abril 2014, 02:40 am
por Unchained
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines