Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Aug 9th, 2004, 5:21 AM   #1
lepricaun
Hobbyist Programmer
 
lepricaun's Avatar
 
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5 lepricaun is on a distinguished road
Written A Password Generator In C, Get It Here

hi guys,
i've written a password generator in C and if someone would like to have a copy of it, get it here.

please let me know what you think of it and b.t.w. i AM scorpius
__________________
http://www.white-scorpion.nl
lepricaun is offline   Reply With Quote
Old Aug 9th, 2004, 8:03 AM   #2
Kylixen
Programmer
 
Kylixen's Avatar
 
Join Date: Jun 2004
Location: SC
Posts: 60
Rep Power: 5 Kylixen is on a distinguished road
Send a message via AIM to Kylixen Send a message via MSN to Kylixen
Post it in the [code] tags. It's easier to scrutinize on the forum
__________________
ALLOW IMAGES IN SIGNATURES NOW
Kylixen is offline   Reply With Quote
Old Aug 9th, 2004, 8:40 AM   #3
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,473
Rep Power: 8 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
Just copied and pasted the code into Dev-C++ but getting parsing errors... not about to run an exe blind.

Code looks good though... I can't remember if you did this or not, but try to implement a FIPS-197 encryption algorithm so you could have encrypted passwords with decryption, etc.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Aug 9th, 2004, 10:56 AM   #4
lepricaun
Hobbyist Programmer
 
lepricaun's Avatar
 
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5 lepricaun is on a distinguished road
well, the code works for me at dev-c++, that's where i've compiled the executable,
here it is:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void very_easy_password(int);
void very_easy2_password(int);
void easy_password(int);
void medium_password(int);
void hard_password(int);
void hard2_password(int);
void very_hard_password(int);
void extreme_password(int);

int main(void)
{
  printf("PWgen.exe, password generator, Copyright (C) 2004 Scorpius");
  printf("\n\nPWgen.exe is free software; you can redistribute it and/or modify");
  printf("\nit under the terms of the GNU General Public License as published by");
  printf("\nthe Free Software Foundation; either version 2 of the License.");
  printf("\n\nPWgen.exe is distributed in the hope that it will be useful,");
  printf("\nbut WITHOUT ANY WARRANTY; without even the implied warranty of");
  printf("\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the");
  printf("\nGNU General Public License for more details.");
  printf("\n\nYou should have received a copy of the GNU General Public License");
  printf("\nalong with this program; if not, write to the Free Software");
  printf("\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\n");
  
  char again='y';
  while(again == 'y' || again=='Y')
  {
    int password_length=0;
    int choice=0;
    printf("\n1: (a-z)\t\t\t\t\tvery easy password");
    printf("\n2: (A-Z)\t\t\t\t\tvery easy password");
    printf("\n3: (a-z,A-Z)\t\t\t\t\teasy password");
    printf("\n4: (a-z,0-9)\t\t\t\t\tmedium password");
    printf("\n5: (A-Z,a-z,0-9)\t\t\t\thard password");
    printf("\n6: (a-z,0-9, \\ ] [ ^ _ )\t\t\thard password");
    printf("\n7: ( ! \" # $ % ' ( * ) + , - . / ,a-z,0-9)\tvery hard password");
    printf("\n8: full keyboard characters (except space), almost impossible to crack\n\n");
    while (choice<1 || choice>8)
    {
        printf("Enter the characterset you wish to use: ");
        scanf("%d",&choice);
    }  
    while((password_length<1)||(password_length>256))
    {
        printf("Enter the length of the password (max 256): ");
        scanf("%d",&password_length);
        if (password_length<8)
        {
          printf("\n\nChoosen password is only %d characters long!",password_length);
          printf("\nRemember, a password is as strong as its length!");
          printf("\nThe above gradations only apply with a minimal password length of 8.\n");
        }    
          
    }
    printf("\nYour password is: ");  
    switch(choice)
    {
        case 1:
            very_easy_password(password_length);
            break;
        case 2:
            very_easy2_password(password_length);
            break;
        case 3:
            easy_password(password_length);
            break;
        case 4:
            medium_password(password_length);
            break;
        case 5: 
            hard_password(password_length);
            break;
        case 6:
            hard2_password(password_length);
            break;
        case 7:
            very_hard_password(password_length);
            break;
        case 8:
            extreme_password(password_length);
            break;
        default:
            break;
    }
    printf("\nWant to generate another password (y/n)?");
    again=getch();
    printf("\n\n");
  }
  printf("Thank you for using my program, for questions/comments contact me at");
  printf("\nscorpius_unknown@yahoo.com");
  printf("\nPress any key to exit");
  char any=getch();
  return 0;  
}



/*(a-z) very easy password*/

void very_easy_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/* (A-Z) also very easy password */
void very_easy2_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=65 && cha<=90))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/*(A-Z,a-z), easy password*/

void easy_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=65 && cha<=90) || (cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/*(a-z,0-9) medium password*/

void medium_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=48 && cha<=57) ||(cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}


/*(A-Z,a-z,0-9) hard password*/

void hard_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=48 && cha<=57) || (cha>=65 && cha<=90) || (cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/*(a-z,0-9, \ ] [ ^ _ ) hard password*/

void hard2_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=48 && cha<=57) || (cha>=91 && cha<=95) || (cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/*( ! " # $ % ' ( * ) + , - . / ,a-z,0-9) very hard password*/

void very_hard_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=48 && cha<=57) || (cha>=65 && cha<=90) || (cha>=97 && cha<=122))
    {
      printf("%c",cha);
      length--;
    }
  }
}

/*full keyboard characters (except space), almost impossible to crack */

void extreme_password(length)
{
  srand(time(NULL));
  while (length>0)
  {
    int cha;
    cha=rand()%128;
    if((cha>=33 && cha<=126))
    {
      printf("%c",cha);
      length--;
    }
  }
}

all i have to do is double click the PWgen.c file, then dev-c++ opens and then press <f9>, it should work, tested it multiple times..

Quote:

FIPS-197 encryption algorithm
i don't know this alghorithm, but i don't see why that would make a safer password.. but i wan't to know how to implement md5 hashes in C, since i want to write a bruteforce program, but i can't seem to find the alghorithm, only a bunch of code which makes no sence to me
__________________
http://www.white-scorpion.nl
lepricaun is offline   Reply With Quote
Old Aug 9th, 2004, 12:14 PM   #5
big_k105
PFO Founder

 
big_k105's Avatar
 
Join Date: Mar 2004
Location: Fargo, ND
Posts: 1,667
Rep Power: 10 big_k105 is on a distinguished road
Send a message via AIM to big_k105 Send a message via MSN to big_k105 Send a message via Yahoo to big_k105
great program i am goin to move it into the tutorial/ code snippet section i compiled it with dev-c++ and it worked great
__________________
BIG K aka Kyle
Programming Forums
Kyle K Online

Please do not PM or email me programming questions. Post them in the forums instead.
big_k105 is offline   Reply With Quote
Old Aug 9th, 2004, 3:08 PM   #6
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,473
Rep Power: 8 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
Welp, still can't compile via a straight copy... either my version of Dev-C++ is different that you alls ( Ver 4 )... or my constraints are too high in my preferences for code analysis.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Aug 10th, 2004, 5:28 AM   #7
lepricaun
Hobbyist Programmer
 
lepricaun's Avatar
 
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5 lepricaun is on a distinguished road
well, i have the latest beta version, just downloaded it last week.
and with that one it works great, also visual c++ 6.0 standard edition compiles it like it should.
__________________
http://www.white-scorpion.nl
lepricaun is offline   Reply With Quote
Old Aug 10th, 2004, 8:58 AM   #8
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,473
Rep Power: 8 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
I think I just have my code restrictions set to high... I couldn't run someone else's code the other day. Either way, I have downloaded Beta 5 and plan on reducing the code checking constraints. Thanks for the code.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Aug 10th, 2004, 9:30 AM   #9
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,473
Rep Power: 8 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
Well. Didn't work in Beta 5 out-of-the-box. So I made a few changes in Solaris... mirrored those changes to Beta 5 and works fine. Had to do with the getch() and parameter type specification. Good work.


Quote:
Quote:
FIPS-197 encryption algorithm
i don't know this alghorithm, but i don't see why that would make a safer password.. but i wan't to know how to implement md5 hashes in C, since i want to write a bruteforce program, but i can't seem to find the alghorithm, only a bunch of code which makes no sence to me
FIPS-197 Advanced Encryption Standard:
http://csrc.nist.gov/publications/fi...7/fips-197.pdf
There are code examples of it scattered around the net.

In this instance, you have created a generator. I was only suggesting using FIPS-197 if you wanted to add to your generator by making a validation package that involved encryption / decryption.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Aug 10th, 2004, 12:06 PM   #10
lepricaun
Hobbyist Programmer
 
lepricaun's Avatar
 
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5 lepricaun is on a distinguished road
thanks for the info, i don't know how to program sockets yet, i've tried it, but i can't get it compiled (this goes for windows using winsock()), so that would be something for future reference since i think i really need it in order to create a validation package...

b.t.w. i've written a new pw generator that is created especially for the command line and for scripting, it will be in a new thread.

tested the source on slackware 10, redhat 9 and windows, works like a charm
__________________
http://www.white-scorpion.nl
lepricaun is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 11:12 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC