Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- /*
- * A Simple null cipher generator
- * Usage: null <input file>
- * 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 <inputfile.txt>\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;
- }
Add Comment
Please, Sign In to add comment