Κυριακή, 4 Μαΐου 2014

Προγραμματιστικές ανησυχίες


Πολλές φορές κατά το παρελθόν για να περάσω ευχάριστα και δημιουργικά έχω ασχοληθεί με τον προγραμματισμό. Έχω φτιάξει διάφορα μικροπρογραμματάκια κυρίως για να περνάει ευχάριστα ο χρόνος και όχι σαν κάποιο μεγάλο project. Όμως η τελευταία φορά που έφτιαξα κάτι ήταν πίσω στο μακρινό 2008 αν θυμάμαι καλά.

Από τότε λίγο η τεμπελιά, λίγο τα διάφορα άλλα ενδιαφέροντα μου, λίγο η μανιοκατάθλιψη που μου χτύπησε τη πόρτα και κράτησε για κάμποσο διάστημα δεν με άφηναν να γράψω ούτε μια πρέζα κώδικα. Προχτές όμως έγινε μια μικρή αρχή.

Έτσι λοιπόν όπως διάβαζα διάφορα άρθρα στο internet με απόλυτα φυσικό τρόπο άνοιξα το παλιό καλό μου gvim και άρχισα να γράφω μια μικρή ιδέα που μου μπήκε στο μυαλό. Όταν τελείωσα έμοιαζε λιγότερο ή περισσότερο με το παρακάτω:

1:  #include <stdio.h>  
2:  #include <stdlib.h>  
3:  #include <string.h>  
4:  #define MAX_CHAR 30  
5:  int main(void){  
6:     char *plain = malloc (MAX_CHAR);  
7:     if (plain == NULL) {  
8:         printf ("No memory\n");  
9:         return 1;  
10:        }  
11:     /* Ask user for phrase. */  
12:     printf("Enter Password to be Encrypted (max 30 characters): ");  
13:     /* Get the phrase, with size limit. */  
14:     fgets (plain, MAX_CHAR, stdin);  
15:     /* Remove trailing newline, if there. */  
16:     if ((strlen(plain)>0) && (plain[strlen (plain) - 1] == '\n'))  
17:         plain[strlen (plain) - 1] = '\0';  
18:     /*Search and make the changes */  
19:     int array_count = 0;  
20:     while(array_count < strlen(plain)){  
21:        if(array_count == 0 || array_count == 3 || array_count == 9 || 
array_count == 14 || array_count == 18)  
22:           plain[array_count] = toupper(plain[array_count]);  
23:        if(plain[array_count] == ' ')  
24:           plain[array_count] = '_';  
25:        if(array_count == 1 || array_count == 6 || array_count == 7 
|| array_count == 10 || array_count == 16){  
26:           switch(plain[array_count]){  
27:              case 'a':plain[array_count] = '@';break;  
28:              case ' ':plain[array_count] = '_';break;  
29:              case 'h':plain[array_count] = '4';break;  
30:              case 'e':plain[array_count] = '3';break;  
31:              case 'l':plain[array_count] = '1';break;  
32:           }  
33:        }  
34:        array_count++;  
35:     }  
36:     /* Print the Encoded Password. */  
37:     printf("Your Encoded Password is: \n%s\n", plain);  
38:     /* Free memory and exit. */  
39:     free (plain);  
40:     return 0;  
41:  }  

Είναι κάτι πάρα πολύ απλό. Δέχεται σαν είσοδο μια φράση και την τροποποιεί μερικώς έτσι ώστε να μπορεί να χρησιμοποιηθεί ως σύνθετο password. Οι τροποποιήσεις που μπορούν να γίνουν είναι φυσικά πολλές.

Αυτό ήταν η αρχή. Έπιασε μετά ένα άλλο παλιότερο project που ελπίζω να αρχίσω να το δουλεύω το συντομότερο. Good old video game programming...

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου