C sharp - ayuda con un descifrado facil...

 
Vista:

ayuda con un descifrado facil...

Publicado por anna (1 intervención) el 17/11/2014 11:18:20
Pues mi problema es que e creado un programa para que sustituya las letras de un texto por una especie de palabras para intentar de crear un programa para cifrar texto...

Bien el cifrar el texto me funciona genial no hay ningún problema... Aquí os dejo el código comentado de la función que cifra:

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
protected void OnButton1Clicked (object sender, EventArgs e)
	{
		String texto = Enc.Text; //Almaceno el texto intrducido en el texbox que he llamado Enc
		int longitud = Convert.ToInt32(texto.Length); //calculo la cantidad de caracteres que tiene el texto y lo almaceno en esta variable.
		char letra; //declaro una variable de tipo char para almacenar letra a letra y comprobarla para cifrar...Mas abajo lo entenderas
		String encr=""; //declaro la ariable donde se almacenara ya el texto cifrado. 
 
//Empezamos a comprobar una a una las letras y las vamos cifrando...
		for(int i = 0; i < longitud; i++){
			letra = texto [i]; //aqui coje una a una las letras del texto para ir comprobandolas en los if...
			if(letra == 'a'){encr = encr + "Ft/5";} //si la letra almacenada es igual a -a- la cifra con Ft/5 y asi con el resto de letras comprobandolas una a una....
			if(letra == 'b'){encr = encr + "Lg/8";}
			if(letra == 'c'){encr=encr+"Kj/5";}
			if(letra == 'd'){encr=encr+"Mh/2";}
			if(letra == 'e'){encr=encr+"Ja/2";}
			if(letra == 'f'){encr=encr+"Kl/6";}
			if(letra == 'g'){encr=encr+"Dg/4";}
			if(letra == 'h'){encr=encr+"Tk/9";}
			if(letra == 'i'){encr=encr+"Mn/5";}
			if(letra == 'j'){encr=encr+"Df/6";}
			if(letra == 'k'){encr=encr+"Dg/2";}
			if(letra == 'l'){encr=encr+"Sv/8";}
			if(letra == 'm'){encr=encr+"Ss/3";}
			if(letra == 'n'){encr=encr+"Xc/2";}
			if(letra == 'ñ'){encr=encr+"Sd/8";}
			if(letra == 'o'){encr=encr+"Sd/7";}
			if(letra == 'p'){encr=encr+"Dd/2";}
			if(letra == 'q'){encr=encr+"Ds/3";}
			if(letra == 'r'){encr=encr+"Nb/2";}
			if(letra == 's'){encr=encr+"Vd/3";}
			if(letra == 't'){encr=encr+"Sv/7";}
			if(letra == 'u'){encr=encr+"Fg/3";}
			if(letra == 'v'){encr=encr+"Er/5";}
			if(letra == 'w'){encr=encr+"Ae/9";}
			if(letra == 'x'){encr=encr+"Ds/7";}
			if(letra == 'y'){encr=encr+"La/5";}
			if(letra == 'z'){encr=encr+"Kñ/3";}
			if(letra == ' '){encr=encr+"Cd/6";}
			if(letra == 'A'){encr=encr+"Sc/2";}
			if(letra == 'B'){encr=encr+"Cv/8";}
			if(letra == 'C'){encr=encr+"Ax/3";}
			if(letra == 'D'){encr=encr+"Bx/6";}
			if(letra == 'E'){encr=encr+"Hx/8";}
			if(letra == 'F'){encr=encr+"Vd/6";}
			if(letra == 'G'){encr=encr+"Cd/7";}
			if(letra == 'H'){encr=encr+"Ññ/8";}
			if(letra == 'I'){encr=encr+"Ñb/6";}
			if(letra == 'J'){encr=encr+"Ba/2";}
			if(letra == 'K'){encr=encr+"Xs/3";}
			if(letra == 'L'){encr=encr+"Yt/5";}
			if(letra == 'M'){encr=encr+"Tr/3";}
			if(letra == 'N'){encr=encr+"Td/8";}
			if(letra == 'Ñ'){encr=encr+"Qw/3";}
			if(letra == 'O'){encr=encr+"Mq/5";}
			if(letra == 'P'){encr=encr+"Sq/5";}
			if(letra == 'Q'){encr=encr+"Zx/3";}
			if(letra == 'R'){encr=encr+"Ex/7";}
			if(letra == 'S'){encr=encr+"Ad/2";}
			if(letra == 'T'){encr=encr+"Aq/2";}
			if(letra == 'U'){encr=encr+"Dq/3";}
			if(letra == 'V'){encr=encr+"Xa/2";}
			if(letra == 'W'){encr=encr+"Xw/7";}
			if(letra == 'X'){encr=encr+"Cz/3";}
			if(letra == 'Y'){encr=encr+"Wz/3";}
			if (letra == 'Z') {encr = encr + "Bw/3";}
		}
		entry2.Text = encr; //Cuando termina de cifrar todas las letras las muestra en el tesbox...
	}

ok hasta hay todo genial el problema es en el descifrado... le he dado muchas vueltas y no encuentro el fallo... a ver si ustedes lo encontrais y me decis por que no me descifra xD.

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
protected void OnButton2Clicked (object sender, EventArgs e)
	{
		String texto = Enc.Text;//Almaceno el texto encriptado introducido en el texbox que he llamado Enc
		int longitud = Convert.ToInt32(texto.Length);//calculo la cantidad de caracteres que tiene el texto y lo almaceno en esta variable.
		char letra;//declaro una variable de tipo char para almacenar letra a letra y comprobarla para cifrar
		String encr="";//declaro la ariable donde se almacenara el texto cifrado.
		String caja=""; //Aqui se almacenara las palabras una a una del cifrado por ejeplo Ft/5 para despues descifrarlo... mas abajo lo veras...
 
		int i = 0; //esto es para ir calculando cuantas veces se repite el bucle while 
 
		while(i < longitud){
 
				letra = texto [i]; //aqui coje una a una las letras del texto para ir comprobandolas en los if...
				caja = caja + texto; //aqui almacena las letras una a una para despues comprobarlas con el siguiente if.
				i++;//incremento i.
 
 
			if(caja.Length == 4){ //si caja tiene ya cuatro corcateres por ejeplo Ft/5 entra en el if para empezar a descifrarla.
				String baul = caja; //almaceno los cuatro caracteres en baul que serian Ft/5 y se empezara a comprobar...
			if (baul == "Ft/5") { //el mismo funcionamiento que en encriptar pero al contrario para descifrar.
				encr = encr + "a";
			}
			if (baul == "Lg/8") {
				encr = encr + "b";
			}
			if (baul == "Kj/5") {
				encr = encr + "c";
			}
			if (baul == "Mh/2") {
				encr = encr + "d";
			}
			if (baul == "Ja/2") {
				encr = encr + "e";
			}
			if (baul == "Kl/6") {
				encr = encr + "f";
			}
			if (baul == "Dg/4") {
				encr = encr + "g";
			}
			if (baul == "Tk/9") {
				encr = encr + "h";
			}
			if (baul == "Mn/5") {
				encr = encr + "i";
			}
			if (baul == "Df/6") {
				encr = encr + "j";
			}
			if (baul == "Dg/2") {
				encr = encr + "k";
			}
			if (baul == "Sv/8") {
				encr = encr + "l";
			}
			if (baul == "Ss/3") {
				encr = encr + "m";
			}
			if (baul == "Xc/2") {
				encr = encr + "n";
			}
			if (baul == "Sd/8") {
				encr = encr + "ñ";
			}
			if (baul == "Sd/7") {
				encr = encr + "o";
			}
			if (baul == "Dd/2") {
				encr = encr + "p";
			}
			if (baul == "Ds/3") {
				encr = encr + "q";
			}
			if (baul == "Nb/2") {
				encr = encr + "r";
			}
			if (baul == "Vd/3") {
				encr = encr + "s";
			}
			if (baul == "Sv/7") {
				encr = encr + "t";
			}
			if (baul == "Fg/3") {
				encr = encr + "u";
			}
			if (baul == "Er/5") {
				encr = encr + "v";
			}
			if (baul == "Ae/9") {
				encr = encr + "w";
			}
			if (baul == "Ds/7") {
				encr = encr + "x";
			}
			if (baul == "La/5") {
				encr = encr + "y";
			}
			if (baul == "Kñ/3") {
				encr = encr + "z";
			}
			if (baul == "Cd/6") {
				encr = encr + " ";
			}
			if (baul == "Sc/2") {
				encr = encr + "A";
			}
			if (baul == "Cv/8") {
				encr = encr + "B";
			}
			if (baul == "Ax/3") {
				encr = encr + "C";
			}
			if (baul == "Bx/6") {
				encr = encr + "D";
			}
			if (baul == "Hx/8") {
				encr = encr + "E";
			}
			if (baul == "Vd/6") {
				encr = encr + "F";
			}
			if (baul == "Cd/7") {
				encr = encr + "G";
			}
			if (baul == "Ññ/8") {
				encr = encr + "H";
			}
			if (baul == "Ñb/6") {
				encr = encr + "I";
			}
			if (baul == "Ba/2") {
				encr = encr + "J";
			}
			if (baul == "Xs/3") {
				encr = encr + "K";
			}
			if (baul == "Yt/5") {
				encr = encr + "L";
			}
			if (baul == "Tr/3") {
				encr = encr + "M";
			}
			if (baul == "Td/8") {
				encr = encr + "N";
			}
			if (baul == "Qw/3") {
				encr = encr + "Ñ";
			}
			if (baul == "Mq/5") {
				encr = encr + "O";
			}
			if (baul == "Sq/5") {
				encr = encr + "P";
			}
			if (baul == "Zx/3") {
				encr = encr + "Q";
			}
			if (baul == "Ex/7") {
				encr = encr + "R";
			}
			if (baul == "Ad/2") {
				encr = encr + "S";
			}
			if (baul == "Aq/2") {
				encr = encr + "T";
			}
			if (baul == "Dq/3") {
				encr = encr + "U";
			}
			if (baul == "Xa/2") {
				encr = encr + "V";
			}
			if (baul == "Xw/7") {
				encr = encr + "W";
			}
			if (baul == "Cz/3") {
				encr = encr + "X";
			}
			if (baul == "Wz/3") {
				encr = encr + "Y";
			}
			if (baul == "Bw/3") {
				encr = encr + "Z";
			}
				caja = ""; // borramos el contenido de caja para que pueda almacenar los otros 4 caracteres siguiente y hagan el descifrado con la siguiente letra.
 
			}
		}
		entry2.Text = encr; //Se muestra el texto ya desencriptado en el texbox.
 
	}

Espero que entre todos los solucionemos... Gracias xD
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder