Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<time.h>
- void Generisi(int duzina,char* set); //za -s, priprema sve i poziva Sifra
- void SGenerisi(int snaga); //za -r, priprema sve i poziva Sifra
- int SlucajanBroj(int min,int max); //random broj izmedju min i max ukljucujuci i min i max
- void Sifra (int duz,char* slova); //Generisi i SGenerisi pozivaju, pravi i ispisuje sifru
- char sifra[80];
- int main(int argc, char **argv)
- {
- if(argc < 2 || argc >4)
- {
- printf("Pomoc: rpsx -h\n");
- exit(0);
- }
- else if(argc == 2 && strcmp(argv[1],"-h")==0)
- {
- printf("\n\t- [ Uputstvo ]\n");
- printf("\nrpsx -[opcija {h,r,s}] [vrednost {i,n}] [opcija {t}]\n");
- printf("\t-h Pomoc\n");
- printf("\t-r Slucajna sifra | potrebna vrednost [i]\n");
- printf("\t-s Podesavanja | potrebne vrednosti [n] i [t]\n");
- printf("\n* Vrednost [i] slozenost sifre i={1,2,3,4}\n");
- printf("\t1 - veoma slaba sifra, 5-8 karaktera | mala slova\n");
- printf("\t2 - slaba sifra, 7-11 karaktera | slova i brojevi\n");
- printf("\t3 - jaka sifra, 10-18 karaktera | slova, brojevi i spec. znakovi\n");
- printf("\t4 - veoma jaka sifra, 20-50 karaktera | slova, brojevi i spec. znakovi\n");
- printf("\n* Vrednost [n] duzina sifre n={3-80}\n");
- printf("\n* Opcija [t] set karaktera za sifru t={sve,a1,1!,a!}\n");
- printf("\tsve - svi karakteri\n");
- printf("\ta1 - slova i brojevi\n");
- printf("\t1! - brojevi i spec. znaci\n");
- printf("\ta! - slov i spec. znaci\n");
- printf("\n\t- [ Primeri ]\n");
- printf("\n rspx -r 2");
- printf("\n rspx -s 15 -sve");
- printf("\n rspx -s 20 -a!\n");
- }
- else if(argc == 3 && strcmp(argv[1],"-r")==0)
- {
- int snaga = atoi(argv[2]); //atoi konvertuje string u int
- if(snaga > 0 && snaga < 5)
- {
- SGenerisi(snaga);
- }
- else
- printf("\nVrednost i mora biti 1,2,3 ili 4\n");
- }
- else if(argc == 4 && strcmp(argv[1],"-s")==0)
- {
- int duzina = atoi(argv[2]);
- if(duzina > 2 && duzina < 81)
- {
- Generisi(duzina,argv[3]);
- }
- else
- printf("\nVrednost n mora biti od 3 do 80\n");
- }
- else
- {
- printf("Pomoc: rpsx -h\n");
- exit(0);
- }
- return 0;
- }
- void Generisi(int duzina,char* set)
- {
- char *karakSet;
- if(strcmp(set,"-sve")==0)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123465789!@#$%^&*()_+{}:>?<~;[].,";
- Sifra(duzina,karakSet);
- }
- else if(strcmp(set,"-a1")==0)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123465789";
- Sifra(duzina,karakSet);
- }
- else if(strcmp(set,"-1!")==0)
- {
- karakSet = "0123465789!@#$%^&*()_+{}:>?<~;[].,";
- Sifra(duzina,karakSet);
- }
- else if(strcmp(set,"-a!")==0)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+{}:>?<~;[].,";
- Sifra(duzina,karakSet);
- }
- else
- printf("\nOpcija t moze biti: -sve, -a1, -1!, -a!\n");
- }
- void SGenerisi(int snaga)
- {
- int duz;
- char *karakSet;
- if(snaga == 1)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyz";
- duz = SlucajanBroj(5,8);
- Sifra(duz,karakSet);
- }
- else if(snaga == 2)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123465789";
- duz = SlucajanBroj(7,11);
- Sifra(duz,karakSet);
- }
- else if(snaga == 3)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123465789!@#$%^&*()_+{}:>?<~;[].,";
- duz = SlucajanBroj(10,18);
- Sifra(duz,karakSet);
- }
- else if(snaga == 4)
- {
- karakSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123465789!@#$%^&*()_+{}:>?<~;[].,";
- duz = SlucajanBroj(20,50);
- Sifra(duz,karakSet);
- }
- else
- printf("\nOvo ne sme da se pojavi -r\n");
- }
- int SlucajanBroj(int min,int max)
- {
- srand( time(0) );
- return min + rand()%(max-min+1);
- }
- void Sifra (int duz,char* slova)
- {
- int i;
- srand( time(0) );
- for(i=0; i<duz; i++)
- {
- sifra[i] = slova[rand()%strlen(slova)];
- }
- printf("\nSifra: %s\n",sifra);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement