您的位置:首页 > 其它

6位数字密码滚动破解

2017-07-20 17:19 169 查看
/*************************************************************************
> File Name: password.c
> Author: sea
> Mail: 623535724@qq.com 
> Created Time: 2017年07月20日 星期四 16时00分14秒

 ************************************************************************/

#include<stdio.h>

#include<ctype.h>

#include<string.h>

#define LEN    6//密码长度4,6,8

#define RANGE 10//取数范围 0~9

static unsigned long MAXSIZE = RANGE;

static unsigned long STEP = 0;

static unsigned long KEY_DELAY = 250;

static unsigned long long CNT_NUM = 0;

static char PASSWORD[LEN] = {0};

char *StrOK  = "OK";

char *Reset  = "RESET";

char  Event  =  0;

void itoa(int n,char s[])

{
int  i=0,j=0;
do{
s[i++]=n%10+'0';
}while((n/=10)>0);
s[i]='\0';

}

int Crack_password(const char *strp)

{
for(int i = 1;i < LEN;i++)
{
MAXSIZE *= RANGE;
}

printf("maxsize: %ld\n",MAXSIZE);//获取数列

while(STEP++ < MAXSIZE)
{
itoa(STEP,PASSWORD);
printf("STEP:%ld PASSWORD:%s\n",STEP,PASSWORD);
for(int i=LEN-1;i>=0;)
{
printf("位%d:%c\t cnt: %lld\n",i,PASSWORD[i],CNT_NUM++);
if(strcmp(PASSWORD,strp) == 0) return 1;
switch(PASSWORD[i--])//快速扫描
{
case '0':break;
case '1':break;
case '2':break;
case '3':break;
case '4':break;
case '5':break;
case '6':break;
case '7':break;
case '8':break;
case '9':break;
default:break;
}
}
printf("ENTER PASSWORD IS SURE\n");
printf("this is recevie signal\n");
}
return 0;

}

int main(char *argc,char *argv[])

{
char *Test_key ="676666"; //测试
int ret = Crack_password(Test_key);
if(ret = 1)
printf("password crack sucess\n");
else
printf("password crack fail\n");
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐