![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Hobbyist Programmer
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5
![]() |
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 |
|
|
|
|
|
#2 |
|
Programmer
|
Post it in the [code] tags. It's easier to scrutinize on the forum
![]()
__________________
ALLOW IMAGES IN SIGNATURES NOW |
|
|
|
|
|
#3 |
|
Programming Guru
![]() ![]() ![]() |
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." |
|
|
|
|
|
#4 | |
|
Hobbyist Programmer
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5
![]() |
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:
![]()
__________________
http://www.white-scorpion.nl |
|
|
|
|
|
|
#5 |
|
PFO Founder
![]() ![]() |
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. |
|
|
|
|
|
#6 |
|
Programming Guru
![]() ![]() ![]() |
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." |
|
|
|
|
|
#7 |
|
Hobbyist Programmer
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5
![]() |
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 |
|
|
|
|
|
#8 |
|
Programming Guru
![]() ![]() ![]() |
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." |
|
|
|
|
|
#9 | ||
|
Programming Guru
![]() ![]() ![]() |
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:
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." |
||
|
|
|
|
|
#10 |
|
Hobbyist Programmer
Join Date: Aug 2004
Location: The Netherlands
Posts: 111
Rep Power: 5
![]() |
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 |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|