|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『楼 主』:
[已结]怎样生成一个纯数字的密码字典
我想用批处理来生成密码字典,用户输入密码长度,自动生成字典文件dictionary.txt
如果输入3,则dictionary.txt的内容如下:
如果输入4,则dictionary.txt的内容如下:
Quote: | 0000
0001
0002
....
9998
9999 |
|
望高人指点。
[ Last edited by HAT on 2008-11-12 at 21:39 ]
|
|
2007-8-29 14:10 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
|
2007-8-29 16:42 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
多谢 wudixin96 兄
我会在此基础上思考一下纯字母密码以及字母数字混合密码
如果有问题的话再来请教
|
|
2007-8-29 22:18 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2007-8-29 22:18 |
|
|
rockdong
初级用户
积分 48
发帖 25
注册 2007-7-30
状态 离线
|
|
2007-8-30 17:01 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
6 楼』:
也做了一个,只支持9位以下,重在参与嘛
@echo off &setlocal enabledelayedexpansion
title code by hi.baidu.com/523066680
set /p "n=输入位数,最大为9: "
for /l %%x in (1,1,%n%) do (
set fo="for %%%%x in (0 1 2 3 4 5 6 7 8 9) do (!fo!"
set end="!end!)"
set echo=!echo! %%%%x
)
%fo:"=%
echo %echo%
%end:"=%
pause
|
综合型编程论坛
我的作品索引 |
|
2008-12-19 10:32 |
|
|
netbenton
银牌会员
批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
7 楼』:
(六)楼的速度好快,看不懂
我用笨办法练习一下:
@echo off
cd.>dictionary.txt
set /p in=key a number:
set b=%in%
:ex1
if %b% gtr 0 set /a b-=1&set max=9%max%&goto :ex1
set ba=%max:9=0%
:ex2
if %b% leq %max% set ok=%ba%%b%&call echo %%ok:~-%in%%%>>dictionary.txt&set /a b+=1&goto ex2
type dictionary.txt&pause&goto :eof
|
精简
[你的+我的+他的]=>[大家的] 个人网志 |
|
2009-1-4 02:47 |
|
|
linee
初级用户
积分 94
发帖 49
注册 2008-12-14
状态 离线
|
『第
8 楼』:
从效率上看应该是6楼的单纯n个循环最快了,7楼这个如果每个数都要去if一下,效率可想而知。
受7楼补0的启发,我也来练习一下,效率应该跟6楼很接近。
@echo off
setlocal enabledelayedexpansion
set /p n=key a number:
for /l %%i in (%n%,-1,1) do (
set z=&set min=&set max=
for /l %%j in (2,1,%%i) do set z=0!z!
for /l %%j in (%n%,-1,%%i) do (set/a min=max+1&set max=9!max!)
if !max! equ 9 set/a min=0
for /l %%j in (!min!,1,!max!) do echo !z!%%j
) [ Last edited by linee on 2009-1-4 at 18:59 ]
|
|
2009-1-4 16:11 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
|
2009-8-4 08:48 |
|
|
ficn
初级用户
积分 30
发帖 15
注册 2008-6-23
状态 离线
|
『第
10 楼』:
@echo off&setlocal enabledelayedexpansion&set y=9999999999
set/p n=input a number:
for /l %%i in (1,1,!y:~-%n%!) do (set qq=0000000000%%i
echo !qq:~-%n%!)
pause
|
|
2009-8-4 23:25 |
|