当前位置:首页 » 编程语言 » c语言穷举密码

c语言穷举密码

发布时间: 2022-07-29 17:15:13

c语言能给个穷举、迭代、递推的举例(要有分析)。。。

穷举的意思能简单, 就是'一个个猜过去'
比如要破解一个8位数的密码, 就是从00000000到99999999的全部数字一个个试过去
这点数字对现在的计算机来说几乎不要时间

迭代是指循环运算, 比如
for ( int i = 0; i < 99999999; ++i) 这个循环就叫做迭代

至于递推, 以下抄自网络

递推算法是一种用若干步可重复的简运算(规律)来描述复杂问题的方法. 递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的一些项来得出序列中的指定象的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

植树节那天,有五位同学参加了植树活动,他们完成植树的棵树都不相同。问第一位同学植了多少棵时,他指着旁边的第二位同学说比他多植了两棵;追问第二位同学,他又说比第三位同学多植了两棵;... 如此,都说比另一位同学多植两棵。最后问到第五位同学时,他说自己植了10棵。到底第一位同学植了多少棵树?

分析:设第一位同学植树的棵树为a1,欲求a1,需从第五位同学植树的棵数a5入手,根据“多两棵”这个规律,按照一定顺序逐步进行推算:
(1) a5=10;
(2) a4=a5+2=12;
(3) a3=a4+2=14;
(4) a2=a3+2=16;
(5) a1=a2+2=18;

递推算法以初始(起点)值为基础,用相同的运算规律,逐次重复运算,直至运算结束。这种从“起点”重复相同的方法直至到达一定“边界”,犹如单向运动,用循环可以实现。递推的本质是按规律逐次推出(计算)先一步的结果。

㈡ C语言穷举法

为啥它们范围会这样取,为啥x会从1-14,这是需要仔细推算的。因为本题的计算量很小,有时就图自己省力(少算一点)让计算机多算一点。

因为x至少是1,而y>x,z>y,为简单起见,而x、y、z的单价分别为a、b、c,所以,ax+by+cz=800

而ax+by+cz>ax+bx+cx

所以,800>(a+b+c)x

x<800/(30+20+10),即x<=13(取整数)

同样的道理,y最小是2,800=30+20y+10z>30+20y+10y,y最大=770/30=25

㈢ c语言:输入六位数字密码作为破解目标,用穷举法编程,输出破解成功是第几次

破解成功是第几次关键是看算法怎么做,从左到右穷举和从右到左穷举结果互补

#include<stdio.h>
#defineFor(i,flag)for(i=0;i<=9&&flag==0;++i)
intmain()
{
inta[6];
intcount=1,flag=0;
charpassword[7];
scanf("%s",password);

For(a[0],flag)
For(a[1],flag)
For(a[2],flag)
For(a[3],flag)
For(a[4],flag)
For(a[5],flag)
{
if(password[0]==a[0]+'0'&&password[1]==a[1]+'0'&&password[2]==a[2]+'0'
&&password[3]==a[3]+'0'&&password[4]==a[4]+'0'&&password[5]==a[5]+'0')
{
flag=1;
break;
}
else
++count;
}
printf("%d",count);

return0;
}

㈣ c语言中,总结穷举法适合求解的问题类型

穷举法用于数据乱序或者没有太好办法时,罗列出所有可行答案来筛选。典型的适用穷举法的编程初学问题有:百鸡问题、顺序查找、密码的暴力破解等。 穷举法的思路是,列举出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解答。用于解决“是否存在”和“有多少可能性”等类型问题。 穷举法一般用循环或循环嵌套结构实现,要注意循环的起点和终点,对可能的情况不能遗漏,一般也不应重复。 1、穷举法的基本思路是把问题涉及的可能情况一一罗列出来,并且根据题目的条件和实际背景逐个作出判断,从中挑选出符合条件的解答。 2、使用穷举法时,要恰当地设计变量,并且决定用哪些变量作为搜索的主线,以便穷举出所有可能情况。 3、穷举一般使用循环结构,要注意循环的起点和终点,对可能的情况不能遗漏,一般也不应重复。 4、编制程序时,还应当根据题目要求准确地写出是否符合条件的判断语句。

㈤ 一个两位纯数字密码破解程序怎么编,用C语言

1、数据范围小的密码可以使用穷举法。这里从00到99,当作字符来处理,需要两重循环。

2、例程:

chara,b,c='1',d='2';//这里变量c,d表示密码的第一位和第二位。
charkey[2];
for(a='0';a<='9';a++){
for(b='0';b<='9';b++){
key[0]=a;
key[1]=b;//这就是一个密码
if(key[0]==c&&key[1]==d)printf("密码是:%s",key);//找到密码并输出
}
}

㈥ c语言的穷举法

20个5分的是1元
50个2分的是1元
100个1分的是1元
上面定义的是这三种面值的银币不能超过的数量~
必须小于这些数量,要不然不就超过1元了,就不符合题意了~~

㈦ C语言中穷举法可以解决哪些问题举三个以上例子

穷举法用于数据乱序或者没有太好办法时,罗列出所有可行答案来筛选:1 百鸡问题2 顺序查找3 密码的暴力破解C语言中穷举法可以解决哪些问题?举三个以上例子?

㈧ 用c语言穷举

#include <stdio.h>
void main()
{
int a[100]={0};
int i,j,k,m,n=0,z;
printf("输入数字,每次回车为一个,以-1为结束数字\n");
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
n++;
if(a[i]==-1)
{
break;
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-2-i;j++)
{
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
printf("排序后的数字是:\n");
for(i=0;i<n-1;i++)
printf("%d\n",a[i]);

printf("请输入要插入的数字");
scanf("%d",&m);
for(i=0;i<n-1;i++)
{
if(a[i]<=m && a[i+1]>m)
{
z=i;
break;
}
else
{
z=-2;
}
}
if(z>=0)
{
for(i=n-1;i>z;i--)
{
a[i+1]=a[i];
}
a[z+1]=m;
}
if(z==-2)
{
a[n]=m;
}
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}

㈨ 在qq登录界面 输入帐号后 怎么用穷举法破解密码 请给出c语言编程实例 仅供参考

用电脑密码破解技巧
·CMOS密码破解

网管员在维护和使用电脑时,经常会遇到各种密码丢失的问题,这里,我们就为广大网管员准备了一些破解密码的方法,但是希望大家不要干坏事哦。开机密码是我们最先要遇到的因此我们就先从CMOS密码破解讲起。虽然CMOS种类各异,但它们的加密方法却基本一致。一般破解的方法主要从“硬”和“软”两个方面来进行。

一、CMOS密码破解

使用电脑,首先需要开机。因此开机密码是我们最先要遇到的。虽然CMOS种类各异,但它们的加密方法却基本一致。一般破解的方法主要从“硬”和“软”两个方面来进行。

1.“硬”解除方法

硬件方法解除CMOS密码原理是将主板上的CMOSRAM进行放电处理,使存储在CMOSRAM中的参数得不到正常的供电导致内容丢失,从而起到解除CMOS密码的目的。一些报刊对如何破解CMOS密码的通常做法,如跳线短接法和电池短接法已有较多介绍,操作起来也十分方便。但我们这里要介绍的是个另类技巧,这也是一些电脑DIY们很喜欢用的方法。方法也很简单:打开机箱,将硬盘或光驱、软驱的数据线从主板上拔掉,然后再启动计算机,BIOS会在自检时报告错误并自动进入CMOS,此时就可以重新设置BIOS内容了。

2.“软”解除方法

严格地说,“软”解除CMOS密码没有“硬”解除方法那么彻底,但也十分奏效。CMOS密码根据需要,可设为普通级用户密码和超级用户级密码两种。前者只是限制对BIOS的修改,可以正常启动电脑和运行各类软件,而后者则对进入电脑和BIOS完全禁止。

1) 破解普通用户密码

首先用DOS启动盘启动电脑,进入DOS状态,在DOS命令行输入debug回车,然后用所列的其中任何一种方法的数据解除CMOS密码,重新启动电脑,系统会告诉你CMOS参数丢失,要求你重新设定CMOS参数。经过试验,这是一种很有效的方法。“-”后面的字母“O”,表示数值输出的地址,70和10都是数值。

2) 破解超级用户密码

这里我们需借助外部工具。我们选用最为经典的BiosPwds,是一款免费软件,比较适合对DOS不太熟悉的电脑用户,很久以前就为人们所熟知,只要轻轻一点,就会将用户的CMOS密码显示出来。工具最新版本1.21,127KB,免费下载地址:http://bj2.onlinedown.net/soft/8107.htm。下载解压后,双击该软件的执行文件,在出现的界面中点击“Getpasswords”按钮,稍等二、三秒即会将BIOS各项信息显示于BiosPwds的界面上,包括:Bios版本、Bios日期、使用密码等,这时你便可以很轻松地得知BIOS密码。

·破解系统密码

二、破解系统密码

系统密码是你登录到操作系统时所使用到的密码,它为你的计算机提供了一种安全保护,可以使你的计算机免受非法用户的使用,从而保障电脑和机密数据的安全。

1. Windows98/ME的系统登录密码

① 取消法

最简单的一种方法是在系统登录要求输入密码时,你什么也不用输入,直接点击取消,可以进入操作系统。但用此种方法只能访问本机的资源,如果计算机是局域网的一部分,你将不能访问网络资源。

② 新增使用者

当你由于密码问题被挡在系统之外时,不妨为系统再新增一个使用者,然后重新登录,一样可以登录系统并访问系统或网络资源。单击“开始”/“设置”/“控制面板”,然后双击“用户”,打开“用户属性”对话框。接着,根据提示依次输入“用户名”、“密码”、“个性化项目设置”中所需的内容,最后单击“完成”。

③ 删除"PWL"文件

删除Windows安装目录下的 .PWL密码文件和Profiles子目录下的所有个人信息文件,然后重新启动Windows,系统就会弹出一个不包含任何用户名的密码设置框,我们无需输入任何内容,直接点击"确定"按钮,Windows密码即被删除。

④ 修改注册表

运行注册表编辑器,打开注册表数据库"HKEY_LOCAL_MACHINE\Network\Logon"分支下的"username"修改为"0",然后重新启动系统,也可达到去掉密码的目的。

2. 破解WindowsNT密码

如果你有普通用户账号,有一个很简单的方法获取NTAdministrator账号:先把c:\winntsystem32下的logon.scr改名为logon.old备份,然后把usrm gr.exe改名为logon.scr再重新启动。logon.scr是系统启动时加载的程序,重新启动后,不会出现以往的登录密码输入界面,而是用户管理器,这时你就有权限把自己加到Administrator组。

3. Windows2000密码

启动盘启动电脑或引导进入另一操作系统(如Windows98),找到文件夹"X:\DocumentsandSettings\Administrator"(X为Windows2000所在磁盘的盘符),将此文件夹下的"Cookies"文件夹删除,然后重新启动电脑,即可以空密码快速登录Windows2000。

4. 破解WindowsXP的密码

在启动WindowsXP时按F8键选择带命令行的安全模式,使用net命令可以对用户身份进行操作。具体步骤如下:使用命令"netuserabcd/add"添加一名为abcd的用户,使用命令"/add"将用户abcd提升为管理员,重新启动电脑,用abcd身份登录,最后对遗忘密码的用户进行密码修改即可。

·破解常用软件密码

三、破解几个常用软件密码

目前,更多的用户懂得了利用电脑软件对自己的一些储存在电脑中的信息进行加密操作,使无权阅读的人无法轻松打开这些重要资料。下面就让我们一块看一下几个常用软件密码的解除:

1. 破解WPS系列密码

如果你是合法用户,在忘却密码时,启动WPS程序,点击“文件”/“密码设置”菜单,在出现的密码设置对话框中可以看到原密码会自动以“ ”号的方式出现在“密码”文本框中,点击“清除”按钮,再在随后出现的提示框中点击“确认”按钮,该加密文件的密码已经被清除了。以后再次打开该文件就不再需要输入密码了。如果你不是合法用户就只能借助有关工具进行破解。现在破解WPS密码的软件很多,但论其功能强大,破解速度快就要数国产的Edward’sWPS2000PasswordRecovery了。该工具破解WPS密码采用的是破解密码的常见的方法———穷举法。使用步骤如下:首先,在程序界面中的“En cryptedWPS2000file”的文本框中通过右侧的“浏览”按钮加入需破解的WPS加密文件;然后选择密码破解方法,该软件有以下几种密码破解方式:Brute-force(强力攻击)、Dictionary(字典攻击)、mask(掩码搜索)等等,一般选用“Brute-force”(强力破解)法;接着在“Brute—forceRangeOptions”列表框中选择破解密码可能包含的密码范围,例如:大小写字母、数字、是否有空格、特殊字符等;此外还要指定密码长度,如6位或更长;最后,当上述几项设置完毕后,请点击"RUN"选项,密码很快得以破解。

2. 破解Word文档密码

可能是微软的Office太引人注目了,针对它的破解软件非常多。下面先让我们来看看如何破解它的文档密码。我们选用一款国产的软件“97/2000/XP密码查看器”,这是一款仅有29KB大小的微型简体中文的Word密码解除软件。此软件无需安装,双击可执行文件即可。该工具可以破解Win dows9X/NT/2000/XP全系列的文档密码,可以查找最多13位的密码(未注册版只支持3位),使用“字典式”穷举法破解。使用时在程序中点击“文件”/“打开”命令加入需破解文档;在“任务属性”中设置密码类型,建议将几个选项全部选中;填写密码长度;点击“确定”返回主界面,选择"操作"/"开始破解命令即可进行密码破解。

3. 破解Excel文档

我们选用一个叫的工具,614K,最近版本1.01,它可以迅速破解Ex cel文件的密码。Ad vancedExcel97PasswordRecovery下载后需要安装,安装完毕后打开其程序主界面,通过浏览按钮打开需要解密的电子表格文档,选择密码长度,设置密码类型,最后点击蓝色的开始破解按钮,稍等片刻会弹出文档密码已被破解的提示菜单。

4.破解QQ密码

我们使用一个叫“OICQ密码终结者”的工具。使用步骤如下:首先要设置你的OICQ的安装目录;接着选择搜索用的字符集,例如选上图中小写字母的字符集,就选中小写字母前的复选框或将"基本设置"下面的所有方框全部选中;然后设置搜索密码的位数,建议不要太长,例如8位,那就需要很长时间,不知你有没有耐心;最后单击"开始"按钮即可进行OICQ的密码破解。据网上高手称Oicqpassovcr的穷举速度可以达到每秒钟数千次,如果你想破解的QQ密码只是4-5位的话,我想在几分钟之内Oicqpassover就可以破解密码了。

·破解网络密码

四、破解网络密码

网络正悄然而迅速地走进我们的日常生活。但作为普通的网络用户,人们都有一种共同的忧虑,就是网络的安全隐患。于是不得不对个人网络活动采取有效的保护措施——加上各种密码。但这些密码一旦遗忘,成为我们进行工作的大碍。下面是一些有关网络密码的破解技巧。

1. 破解上网账号与密码

作为日常上网的桥梁,我们每个人都需要在上网时进行上网账号与密码的设置,这样才能登录网络。利用一些工具软件获得账号并不是很难的事情,甚至可以说是一件轻而易举的事情。这里我们借助一个叫GetIP的工具,这是个由国人刘骥设计开发的“口令密码”识别软件。GetIP能够帮助我们将那些代表口令的密码“***”号还原成真实的口令。如果你需要该软件,可到作者的主页http://brain.zb169.net/免费下载。GetIP使用十分简单,运行GetIP.exe可执行文件,出现程序界面,将鼠标指向“点击(放大镜)处并拖动”,用鼠标拖着移动到想要得知的密码处,真实的密码口令就会立即反应到"文本"框中。

2. 破解IE分级审查密码

IE浏览器提供了分级审查功能,它可以在用户的设置下对某些网页进行过滤,只有知道分级审查功能密码的用户才能查看相关网页的信息。如果遗忘了分级审查功能的密码,不但不能访问受到限制的站点,而且不能更改已有的限制级别,重装IE也没有用,怎么办?启动注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings”子键,找到一个名叫"KEY"的键值项,它就是用户设置IE分级审查口令(数据已经加密),用户只需删除该键值就可以取消分级审查口令,然后重新设置IE分级审查密码即可。

3. 破解OE密码

在OE程序中有三种密码:邮箱密码、新闻组密码和用户身份确认密码。下面我们以一个叫“密码截取”(3.1特别版)的软件,可运行于WIN9X/2000/NT/XP,110KB,可到http://gaoasp.diy.163.com/处下载。软件可以用于破解Web的邮箱密码、POP3收信密码、FTP登录密码,并将密码显示、保存,或发送到用户指定的邮箱。密码截取过程:密码截取软件将截取到的密码输入框中的密码(如拨号连接、OICQ、IE中的密码),以密码明文形式保存在用户自定义的文件中(缺省为c:\password.txt),如果没有截取到密码,密码文件将不存在。同时可以将获取到的密码发送到用户指定的邮箱中。密码截取2.8支持的操作系统:Windows9X/NT/2000。该软件不需安装,下载并解压后,直接双击getpassword.exe运行,点击图中的"邮件设置"选项,设置将截取到的密码发向指定信箱,接着点击"密码文件"选项,设置将截取到的密码保存在本机的c:\password.txt中,以便随时查看。

4. 破解Foxmail密码

有相当多的用户,使用简单却功能强大Foxmail做邮件接收工具。但是由于Foxmail本身的安全隐患,一些人只须新建一个账户后,进入Foxmail缺省的安装目录下,将新建的账户目录下的“account.stg”文件复制后将账户文件覆盖,所建立的账户密码就会被清除。

㈩ 什么是c语言里面的穷举法

假如有有一个账号登录需要六位数字密码,你可以编一个程序把所有可能的数字按顺序输入直到正确的那个为止。
如果有字母就把字母的可能性也加上。
如果密码太复杂,电脑在强大也需很长时间解决,穷举法用于简单的破解。

热点内容
ios6G与安卓12G哪个更快 发布:2025-01-24 11:26:22 浏览:827
下线源码 发布:2025-01-24 11:26:22 浏览:523
windows8解压软件 发布:2025-01-24 11:04:41 浏览:559
蓝牙聊天源码 发布:2025-01-24 11:03:13 浏览:124
安卓是什么意思是vivo吗 发布:2025-01-24 11:01:32 浏览:486
悬赏网源码 发布:2025-01-24 10:53:14 浏览:733
c语言时间变量 发布:2025-01-24 10:40:24 浏览:870
ppiandroid 发布:2025-01-24 10:25:50 浏览:1001
儿童压缩机 发布:2025-01-24 10:25:09 浏览:75
苹果的允许访问在哪里 发布:2025-01-24 10:24:32 浏览:32