
Encriptacion
Publicado por Diego (23 intervenciones) el 02/04/2014 08:04:44
ola tengo un problema con encriptacion en java como mando a traer el metodo codigovigenere y decodvigenere al metodo main esta es mi clase
y este es mi metodo main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
public class Vigenere {
private String mensaje;
private String clave;
private String codificada="";
private String decodificada="";
private char [] alfabeto=new char[]{'a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','ñ','o','p','q','r','s','t','u','v','w',
'x','y','z'};
public Vigenere(String mensaje, String clave) {
this.mensaje = mensaje;
this.clave = clave;
}
public void codVigenere(){
int posicion_nuevo_caracter;
char nuevo_caracter;
int posicion_alfabeto_mensaje;
int posicion_alfabeto_clave;
for(int i=0, j=0; i < this.mensaje.length(); i++){
if(this.mensaje.charAt(i) != ' '){
posicion_alfabeto_mensaje = obtenerPosicion(this.mensaje.charAt(i));
posicion_alfabeto_clave = obtenerPosicion(this.clave.charAt(j));
posicion_nuevo_caracter = mod((posicion_alfabeto_mensaje + posicion_alfabeto_clave), this.alfabeto.length);
nuevo_caracter = alfabeto[posicion_nuevo_caracter];
this.codificada = this.codificada + nuevo_caracter;
if(j == this.clave.length() - 1)
j = 0;
else
j++;
}
else{
this.codificada = this.codificada + " ";
}
}
}
public void decodVigenere(){
int posicion_nuevo_caracter;
char nuevo_caracter;
int posicion_alfabeto_mensaje;
int posicion_alfabeto_clave;
for(int i=0, j=0; i < this.mensaje.length(); i++){
if(this.mensaje.charAt(i) != ' '){
posicion_alfabeto_mensaje = obtenerPosicion(this.mensaje.charAt(i));
posicion_alfabeto_clave = obtenerPosicion(this.clave.charAt(j));
posicion_nuevo_caracter = mod((posicion_alfabeto_mensaje - posicion_alfabeto_clave), this.alfabeto.length);
nuevo_caracter = alfabeto[posicion_nuevo_caracter];
this.decodificada = this.decodificada + nuevo_caracter;
if(j == this.clave.length() - 1)
j = 0;
else
j++;
}
else{
this.decodificada = this.decodificada + " ";
}
}
}
public int obtenerPosicion(char c){
for(int i=0; i < this.alfabeto.length; i++){
if(c == this.alfabeto[i])
return i;
}
return -1;
}
public int mod (int a,int b){
int res = a % b;
return res >= 0 ? res : res + b;
}
public String getCodificada() {
return codificada;
}
public String getDecodificada() {
return decodificada;
}
}
y este es mi metodo main
1
2
3
4
5
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Introdusca un cadena");
String cadena=sc.nextLine();
}
Valora esta pregunta


0