密码生成器

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

#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--;

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航