Criptografía, Robótica, Linux, como afectan a nuestra vida la tecnología y más.

13 abr. 2009

Cifrado Cesar: Código

4/13/2009 Posted by Michael Delgado 1 comment
Para acabar el tema del cifrado César un pequeño código que permite usar cualquier desplazamiento en un diccionario de 26 letras como el anglosajón (fácilmente modificable si se cambia el abecedario y la variable global num_letras) al codificar una frase introducida por pantalla.

Podéis copiar el código directamente:

#include <stdio.h>

#define NUM_LETRAS 26

char cesar_char(char c,int desp){

char abc[NUM_LETRAS]={'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'};

int cod=0;
int i=0;

while(i<NUM_LETRAS && c!=abc[i])i++;
cod=i+desp;

if(cod>NUM_LETRAS){cod%=NUM_LETRAS;}

return abc[cod-1];
}

void cesar(char* text,int desp){

char res[256];

int postext=0;
int posres=0;
char charcod;
char local;
local=text[0];


while(local!='\0'){
charcod=cesar_char(local,desp);
res[posres]=charcod;
posres++;
postext++;
local=text[postext];

}
res[posres]='\0';

printf("Resultado: %s\n",res);

}

int main(){

char c[256];
int desp;

printf("Texto para codificar: ");
scanf("%s",&c);

printf("Desplazamiento: ");
scanf("%d",&desp);

cesar(c,desp);

return 0;
}



O descargar el código fuente de aquí:
Descargar

1 comentario:

  1. Thanks for your comment. I think you could find a lot of information in google ;).

    ResponderEliminar

Deja tu comentario: