| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1811 人关注过本帖
标题:新人求助,编写一个声称所有可能密码的程序,有思路就好
只看楼主 加入收藏
vortex06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-7-6
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:17 
新人求助,编写一个声称所有可能密码的程序,有思路就好
已知该网站的用户登录密码的最大长度是3位,编写一个密码字典生成程序,生成所有可能的密码
密码中包含了数字10个、字母54个、标点符号及其他特殊字符33个,具体如下
0123456789abcdefghjijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]~.',/\:!?@#$%^&*()<>_+|~`{}-;"
搜索更多相关主题的帖子: 编写 密码 思路 生成 字母 
2017-07-07 15:00
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:1 
最笨的方法是枚举,尝试所有可能性。

char *mima = {.......};
char *p1, *p2, *p3;

for(p1 = mina; p1; ++p1 )
    for(p2 = mima; p2; ++p2 )
        for(p3 = mina; p3; ++p3 )

[此贴子已经被作者于2017-7-7 15:23编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-07 15:22
vortex06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-7-6
收藏
得分:0 
回复 2楼 renkejun1942
我开始也是这样的思路,类似这样多达几十万次的循环肯定不行呀
2017-07-07 15:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
A(97,3)=1.6032126613747019975554737658261e+151  应该是这样吧  啥电脑能存这么大的数字啊

DO IT YOURSELF !
2017-07-07 15:50
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用vortex06在2017-7-7 15:48:16的发言:

我开始也是这样的思路,类似这样多达几十万次的循环肯定不行呀


几十万次怎么够  151位数 已经不知道该如何表达了

DO IT YOURSELF !
2017-07-07 15:52
vortex06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-7-6
收藏
得分:0 
回复 4楼 wp231957
这是一个类似黑客暴力破解密码的问题,应该怎么做呢,要求最后写入文本文件保存
2017-07-07 15:55
vortex06
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-7-6
收藏
得分:0 
这是原题
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-07-07 15:59
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这个是不太可能完成的  即使你跑完了排列/组合的循环 那么也没有那么大的硬盘来存储这个字典文件

DO IT YOURSELF !
2017-07-07 16:05
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
这个没有8楼版主说的那么玄乎。
首先不能用排列公式算,因为排列不包含数据重复,同时即使按排列算,4楼版主算的结果也是错的,A(97,3)=97!/(97-3)!=884640;没有宇宙级别的数量。
在97个字符中选3个数做密码最多的数量也就是97^3=912673个组合(111、222...等也算),实际上就是97进制的3次方(楼主可以用十进制数类比),程序实现方法可以用2楼的3层循环完成,但这个方法不具备通用性,如果换成4位、5位密码,你又要写4层、5层循环,通用方法是写一个数组计数器(比如此题是97进制的计数器),我好像看到某个版主用过此算法。

能编个毛线衣吗?
2017-07-07 16:21
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 9楼 wmf2014
哦 那我算错了啊

DO IT YOURSELF !
2017-07-07 16:22
快速回复:新人求助,编写一个声称所有可能密码的程序,有思路就好
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026794 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved