Este cifrado se puede resolver de 2 formas la primera es utilizando su tabla y la segunda es sumar las letras dependiendo de la posición en la que se encuentren en el abecedario.
El código esta hecho utilizando la segunda forma, es decir, primero se convierte ha código ASCII y luego se suman y se vuelven a convertir a letra normal.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main()
{
int b,i,c,j,x[20],y[20],z[20];
char a[20],p[20],d[20];
printf("\tCIFRADO DE VIGENERE\n\n");
printf("\tSOLO PUEDES INTORDUCIR LAS LETRAS EN MAYUSCULAS\n");
printf("\tNO PUEDES INTRODUCIR LA LETRA Ñ\n");
printf("\nINTRODUCE LA PALABRA A ENCRIPTAR:\n");
scanf("%s",&p);
printf("\nINTRODUCE LA CLAVE:\n");
scanf("%s",&a);
b=strlen(p);
c=strlen(a);
printf("\nEl tamano de la palabra es:%i",b);
printf("\nEl tamano de la clave es:%i",c);
for(j=0;j<=b;j++)
{
strncat(a,a,16);
}
for(c=b;c<=b;c++)
{
}
for(i=0;i<=b;i++)
{
x[i]=p[i]-65;
}
for(i=0;i<=c;i++)
{
y[i]=a[i]-65;
}
for(i=0;i<=c+1;i++)
{
}
for(i=0;i<=b;i++)
{
z[i]=(x[i] + y[i])%26;
}
for(i=0;i<=b;i++)
{
d[i]=z[i]+65;
}
printf("\n\n");
printf("TU PALABRA ENCRIPTADA ES:");
for(i=0;i<=b-1;i++)
{
printf("%c",d[i]);
}
getchar();
getchar();
}
No hay comentarios:
Publicar un comentario