CCCPaste

SimpleNullCipher

#include 
#include 
#include 
/*
 * A Simple null cipher generator
 * Usage: null 
 * output words where first letters assemble to spell the enciphered words.
 *
 * example: 
 * text input: hello world
 * 
 * Output:
 * haired erotic leering live occult 
 * willful occupy reduce love deviation
 * */
 
//Random index: rand()%max + 1 -Min) + min
int r() {
   // srand(time(NULL));
    return (rand() % (4 - 0 + 1)) + 0;
}
//Simple dictionary: 5 words starting with a letter. 5*Char
char simpDict[][130] = {
    "ardent","arcane","arsenic","archaic","archived",
    "bravo","brave","break","because","beer",
    "cats","could","clouds","can","cap",
    "damn","deviation","drugs","drab","drone",
    "esoteric","erotic","error","exit","excited",
    "foxtrot","fornicate","found","feet","feel",
    "games","gains","great","greed","green",
    "hello","haired","honor","home","hope",
    "idiot","incinerate","ingest","ingrate","incantation",
    "jump","jam","jive","jeer","jest",
    "kill","knife","know","king","knots",
    "love","live","life","leering","lecherously",
    "more","many","make","mandible","masticate",
    "no","nope","nothing","nods","near",
    "occult","occupy","octopus","odd","oops",
    "pride","pain","peers","perplex","pipe",
    "question","queer","quintessentially","quintuple","quine",
    "risk","ran","rampant","reduce","reuse",
    "stop","sting","stare","stave","steal",
    "times","tear","tedious","ten","technology",
    "umbrella","up","under","uncover","ubiquitous",
    "van","veer","vaccinate","variable","vacuum",
    "we","would","wish","willful","woes",
    "xylem","xii","xylem","xerxes","xysts",
    "year","yes","yak","yarn","you",
    "zoom","zeus","zest","zeta","zygote"
};
 
//assuming all lower for now, 
void getNC(char c, int count){
    int  i= r();   //random index 0-4
    int  l=c-96;   //l is the base character index
    int  f = ((l*5)-5)+i;  //f is the final index of the dictionary word
    if(l<0){
        printf("\n");
        return;
    }else{
    printf("%s ", simpDict[f]);
    if(count==5 || c <=0){
        printf("\n");
        count =0;
        }
    }
}
 
int main(int argc, char ** argv){
 srand(time(NULL));
    if(argc !=2){
        printf("Usage: %s \n", argv[0]);
        }
    FILE *file1=fopen(argv[1], "r"); //file to decode
    
    int count = 0; 
    
    if(file1==NULL ){
        printf("Input Files ( %s ) Not Found\n", argv[1]);
        return 0;
        }
        
    char c;
    while(c!=EOF){
        c =fgetc(file1);
        if(c == EOF){
            break;
            }
        getNC(c, count);    
        count ++;
        }   
        printf("\n");
    return 0;
    }