Crypt0 |
|
| Parlate del nuovo programmai ultrafigo che avete fatto, di trovate geniali utili per risparmiare tempo e righe di codice, scambiamoci consigli. Io vorrei postare un programmino in C che serve a generare password casuali ... Ometterò qualche riga di proposito per evitare i copia & incolla di gente che ha poca voglia di fare e molta voglia di far passare per propri i lavori degli altri (il forum è accessibile a tutti ...) I doppi slash indicano le righe mancanti (//) Fornisco chiarimenti agli interessati solo con MP CODICE #include <stdio.h> #include <stdlib.h> #include <time.h> /*Macro per la funzione random*/ #define random(a) rand() % a
short x, num, car; char f;
main(){ printf("\t\tGENERATORE DI PASSWORD CASUALI\n"); do{ /*Ripetizione dell'intero programma (A)*/ printf("\nSelezione il tipo di password:\n"); printf("1)Caratteri alfabetici minuscoli"); printf("\n2)Caratteri alfabetici maiuscoli e minuscoli"); printf("\n3)Caratteri alfanumerici minuscoli"); printf("\n4)Caratteri alfanumerici maiuscoli e minuscoli"); printf("\n5)Tutti i tipi di caratteri.");
do{ /*Scelta tipo di password ripetuta (B)*/ printf("\n La tua scelta: "); /*finchè non si ottiene un valore valido*/ scanf("%d", &x); fflush(stdin); } while(x<1 || x>5); /*fine (B)*/
do{ /*Come il precedente (C)*/ printf("\nScegli lunghezza password (4-12): "); scanf("%d", &num); fflush(stdin); } while(num>12 || num<4); /*Fine (C)*/
//
switch (x) { /*Smistamento dei diversi tipi di password*/
case 1: for(; num>0; num--) printf("%c", random(26)+'a'); break;
case 2: for(; num>0; num--){ car=random(52)+(int)'A'; if(car>90) car+=6; printf("%c", car); } break;
case 3: for( ; num>0; num--){ car=random(36)+'0'; if(car>57) car+=39; printf("%c", car); } break;
// // // // // // //
case 5: for( ; num>0; num--) printf("%c", random(92)+'!'); }
do{ /*Verifica dati in entrata (D)*/ printf("\n\nVuoi creare un'altra password?: "); scanf("%c", &f); fflush(stdin);
} while(!((f=='s' || f=='n') || (f=='S' || f=='N'))); /*Fine (D)*/ } while(f=='s' || f=='S'); /*Fine (A)*/ printf("\n(Premere un tasto per continuare)"); getchar();
|
| |