穷举算法:编写暴力破解的程序,测试破解由数字构成的

2021-01-14 07:56:02 字数 4162 阅读 8860

1楼:匿名用户

6个字符:22.5亿个组合(无特殊字符)

1. 由每秒攻击站点 10000 次的 web 程序:需要3.7周

2. 脱机使用高功率的服务器或者台式机(1000亿/秒):0.0224秒

3. 使用大规模的并行处理器集群(100兆亿/秒):0.0000224秒

6个字符:7.6万亿个组合(有特殊字符)

1. 由每秒攻击站点 10000 次的 web 程序:需要2.4个世纪

2. 脱机使用高功率的服务器或者台式机(1000亿/秒):1.26分钟

3. 使用大规模的并行处理器集群(100兆亿/秒):0.0756秒

2楼:匿名用户

cpu:大概40个组合每秒;

gpu:大概3000个组合每秒。

(一般家用电脑。)

怎样破解一个6位数字的密码?

3楼:匿名用户

基本没有可能

虽然有穷举法来破解

但关键是,现在基本上都会防暴力破解,比如:当登陆账号次数过多会,就会拒绝下次尝试等

4楼:匿名用户

目前没有这工具,试试金手指,或去查一查。

5楼:匿名用户

只有瞎猜了,也许瞎猫会碰上死耗子。

6楼:匿名用户

六位数字密码怎么解答?

穷举法是什么,有什么用,怎么计算?

7楼:爱笑的刚刚好呀

穷举法又称列举法、枚举法,是蛮力策略的具体体现,是一种简单而直接地解决问题的方法。其基本思想是逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除。

穷举的作用

1、理论上,穷举可以解决可计算领域中的各种问题。尤其处在计算机计算速度非常高的今天,穷举的应用领域是非常广阔的。

2、 在实际应用中,通常要解决的问题规模不大,用穷举设计的算法其运算速度是可以接受的。此时,设计一个更高效率的算法代价不值得。

3、 穷举可作为某类问题时间性能的底限,用来衡量同样问题的更高效率的算法。

穷举怎么计算:

1、根据问题的具体情况确定穷举量(简单变量或数组);

2、根据确定的范围设置穷举循环;

3、根据问题的具体要求确定筛选约束条件;

4、设计穷举程序并运行、调试,对运行结果进行分析与讨论。 当问题所涉及数量非常大时,穷举的工作量也就相应较大,程序运行时间也就相应较长。为此,应用穷举求解时,应根据问题的具体情况分析归纳,寻找简化规律,精简穷举循环,优化穷举策略。

8楼:末你要

穷举法就是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。

在穷举法中,若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。

使用穷举法列出100以内的素数,如下:

#include

int main()

显示结果为:2,3,5,7,11,13,17,19,23,29,31,37,41,47,53,59,61,67,71,73,83,89,97。

9楼:匿名用户

穷举法是一种针对于密码的破译方法,这种方法很像数学上的“完全归纳法”。

穷举法基本思路是:对于要解决的问题,列举出它的所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解。它也常用于对于密码的破译,即将密码进行逐个推算直到找出真正的密码为止。

扩展资料

用穷举法解题时,就是按照某种方式列举问题答案的过程。针对问题的数据类型而言,常用的列举方法一有如下三种:

(1)顺序列举 是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。

(2)排列列举 有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。

(3)组合列举 当答案的数据形式为一些元素的组合时,往往需要用组合列举。组合是无序的。

例子如下:在公元五世纪我国数学家张丘建在其《算经》一书中提出了“百鸡问题 ”:

“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。百钱买百鸡,问鸡翁、母、雏各几何?”这个数学问题的数学方程可列出如下:

cock+hen+chick=100

cock*5+hen*3+chick/3=100

该问题的c语言程序算法如下:

int cock,hen,chick; /*定义公鸡,母鸡,鸡雏三个变量*/

cock=0;

while (cock<=19) /*公鸡最多不可能大于19*/

cock=cock+1;}

10楼:眼泪的错觉

穷举法就是把可能的情况一一列举,带入实际,一个个检验是否是符合。这种方法一般在计算机中运用,因为计算机计算速度快,可以很快验证答案是否正确。

比如统计一个班男生身高高于1.7m的人数,用穷举法就是依次测量每个男生身高,高于1.7m的就记下,直到每个人都量测了一边。

穷举法可视为最简单的搜索:即是在一个可能存在可行状态(可行解)的状态全集中依次遍历所有的元素,并判断是否为可行状态。

11楼:匿名用户

穷举法是一种针对于密码的破译方法,可以用来破解密码,计算方法简单来说就是将密码进行逐个推算直到找出真正的密码为止。

穷举法也称为枚举法,基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。

这种方法很像数学上的“完全归纳法”,并在密码破译方面得到了广泛的应用。比如一个四位并且全部由数字组成其密码共有10000种组合,也就是说最多我们会尝试9999次才能找到真正的密码。利用这种方法可以运用计算机来进行逐个推算,也就是说用这种方法破解任何一个密码也都只是一个时间问题。

12楼:demon陌

穷举法是最常见的密码破解方法。也就是一个一个地试。如比密码为123,穷举法从1位数0开始,一直到碰对为止。

一般来说,穷举法适用于6位以下纯数字密码,超过6位数或较复杂穷举法就很难了,即使可以,也需要很长时间。

打个比方,如果1到9中有个是密码,那么就一个一个去试,把1到9中所有的数字都列举出来,这就是穷举法。

用穷举法解题时,就是按照某种方式列举问题答案的过程。针对问题的数据类型而言,常用的列举方法一有如下三种:

(1)顺序列举 是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。

(2)排列列举 有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。

(3)组合列举 当答案的数据形式为一些元素的组合时,往往需要用组合列举。组合是无序的。

13楼:匿名用户

穷举法是什么呢?这个也不是很清楚,是不是讲所有的方法列举下来从中注意选呢?

14楼:匿名用户

所谓穷举法

就是把所有可能性都拿出来试一试

比如说我不知道你生日

我就问你

是不是1月1号?

是不是1月2号?

是不是1月3号?

....

......

......

是不是12月31号?

就是这样

至于破解密码,也一样

比如我知道你密码是6位的

那就试 啊

000000

000001

000002

000003

......

...999999

总会成功的

15楼:果汁_粒粒

打个比方,如果1到9中有个是密码,那么就一个一个去试,把1到9中所有的数字都列举出来,这就是穷举法

16楼:garfield_百

就是把所有符合定义或者条件的组合可能都尝试一遍。它的优点就是肯定能够破解,但是缺点是要花大量的时间

17楼:匿名用户

就是把一切可能的密码一一去试,直到正确为止……