ok. can you look at my program. my program generates a random number 1-5, reads the input text of five lines and the original message, the key number generated corresponds to one of the five lines to use to encrypt the message. then the message is ecrypted.
Code:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#define MAXLEN 81
#define ALPHABETSIZE 26
void getKey(char [],int *);
void encrypt(char[], char[], char[]);
int main(){
char cryptArr[ALPHABETSIZE];
char original[MAXLEN];
char encrypted[MAXLEN] = "";
int keyNum;
int i = 0;
getKey(cryptArr,&keyNum);
printf("selected key #%d\n",keyNum);
while (fgets(original,MAXLEN,stdin)){
encrypt(cryptArr, original, encrypted);
printf("%s",encrypted);
i++;
}
return 0;
}
void getKey(char secret[], int *keycode){
int count, keynum, randkey;
int cycle = 0;
char temparr[ALPHABETSIZE + 2];
srand(time(NULL));
randkey = rand();
keynum = randkey % 5 + 1; /* RANGE CHECK */
for(count = 0;count < 5;count++){
fgets(temparr,ALPHABETSIZE + 2,stdin);
if (count == keynum){
while(cycle < ALPHABETSIZE){
secret[cycle]=temparr[cycle];
}
}
*keycode = keynum;
}
}
void encrypt(char secret[],char message[],char coded[]){
int count;
char letter;
for(count = 0;count < MAXLEN;count++){
letter = message[count];
if(isalpha(letter)){
message[letter] = tolower(message[letter]);
message[letter] = secret[letter - 'a'];
coded[letter] = message[letter];
}
}
}