Descifrado

Fernando Ruiz Laguna

/* De nada sirve codificar la información si no podemos acceder a ella luego, he aquí el programa que descifra la cadena de caracteres del programa anterior. Los parámetros a y b deben ser los mismos usados para cifrar */

/* Este programa sí que me ha dado algun error al testearlo (la aparición como letras de la cadena de { y | no es un error, sino una consecuencia de trabajar con módulo 29) */

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main()
{
int a,b,ia;
int i,l,k,j;
char codigo[50];
char p;
int c[50];
cout << “Introduce el parametro a (entre 1 y 29)” << endl;
cin >> a;
cout << “Ahora introduce b (entre 0 y 28)” << endl;
cin >> b;

ia = 0;
if(a==1) ia = 1;
for(k=1;k<29;k++){
for(j=1;j<29;j++){
if(a*k==29*j+1){
ia = k;
j = 29;
p = 29;
}
}
}

cout << “Introduce ahora el codigo a descifrar (sin espacios y en minusculas): ” << endl;
cin >> codigo;
l = strlen(codigo);
for(i=0;i<50;i++){
c[i] = int(codigo[i]);
c[i] = c[i]-96;
c[i] = c[i]-b;
if(c[i]<0) c[i] = 29 – c[i];
c[i] = (c[i]*ia)%29;
c[i] = (c[i]+96);
codigo[i] = char(c[i]);
}
for(i=(l);i<=50;i++){
codigo[i] = char(32);
}
cout << “El mensaje descifrado es: ” << endl << codigo << endl;
system (“pause”);

}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Descifrado

  1. Te digo lo mismo que te he comentado en el programa anterior. Intenta implementar esas mejoras además de pulir esos detalles que dices que te fallan.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s