用TCL编写了一个生成密码字典的小测试程序,共享一下

原创 2006年05月30日 10:49:00
闲着无聊,编写了一个生成密码字典的小程序,做为学习tcl的一个阶段性总结。
可以生成包含dictChar任意组合的字符,密码长度也可以设置。
在debian下使用tclsh8.4测试通过。


#! /usr/bin/tclsh

#************************************************
# Password Dictionary Generator
# Just for learning, by easwy, Mar 31, 2006
#
# len - the length of password
#
# RETURN
#    none, password group in file $dictName
#************************************************
proc genDict {len} {
    # chars in password
    set dictChar "abcdefghijklmnopqrstuvwxyz"
    # count of chars
    set charCnt [string length $dictChar]
    # last item's index in array a
    set last [expr "$len - 1"]
    # dictionary file name
    set dictName "passwd.txt"

    # initial array a
    for {set i 0} {$i < $len} {incr i} {
        set a($i) 0
    }

    # open dictionary file
    set dictFile [open "passwd.txt" w]

    # starting...
    while {true} {
        # construct new passwd
        set passwd ""
        for {set i 0} {$i < $len} {incr i} {
            # append char which index is $a($i) to passwd str
            set passwd "$passwd[string index $dictChar $a($i)]"
        }

        # output passwd
        puts $dictFile $passwd

        # incr last char's index
        incr a($last)

        # update all indices
        for {set i $last} {$i > 0} {incr i -1} {
            if {$a($i) >= $charCnt} {
                set a($i) 0
                set ind [expr "$i - 1"]
                incr a($ind)
            }
        }

        # exit
        if {$a(0) >= $charCnt} {break}
    }

    close $dictFile
}

# generate passwd string, len 3
genDict 3

python函数的实例,书写一个创建有针对性的专用密码字典的程序

python实战学习,函数的学习与使用,综合知识的运用。包括for ,while循环,if...else.. 和if... elif ... else 的条件判断!...
  • m0_37138008
  • m0_37138008
  • 2017年06月01日 23:32
  • 222

Tcl学习之--列表|字典

【列表|字典】 Tcl使用列表来处理各种集合,比如一个文件夹中的所有文件,以及一个组件的所有选项。最简单的列表就是包含由任意个空格、制表符、换行符、分隔的任意多个元素的字符串。比如: JerryAli...
  • Jerry_1126
  • Jerry_1126
  • 2015年07月11日 22:07
  • 2029

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会...
  • u014134180
  • u014134180
  • 2015年10月01日 00:08
  • 3590

TCL语法简介1

1,脚本构成   set a 2 set b 3 // set a 2;set b 3 TCL脚本可以包括多个命令,命令间使用换行符或者分号分开,一个命令使用空格分开命令、变量等其...
  • lkiller_hust
  • lkiller_hust
  • 2016年05月08日 11:27
  • 747

perl社工密码字典生成器

用perl实现的简单的社工密码字典生成器。例如在人肉的时候搜集的用户ID为tom,名字为李磊,生日为900801,则可以利用该脚本生成密码字典用来爆破。例如上述信息生成的字典为: tomlilei90...
  • u014749470
  • u014749470
  • 2014年11月19日 10:23
  • 1965

密码字典生成工具crunch的简单使用

案例1: crunch 1 8 #生成最小1位,最大8位,由26个小写字母为元素的所有组合   案例2: crunch 1 6 abcdefg #生成 最小为1,最大为6.由abcdefg...
  • m_zhurunfeng
  • m_zhurunfeng
  • 2016年09月24日 22:45
  • 1968

Python生成黑客字典程序(一)

Python生成黑客字典,首先需要字符串来源 可以使用string包中的printable,具体作用如下: string.printable为所有字符的集合,包含数字,大小写字母,符号包含空格制表符回...
  • u011433994
  • u011433994
  • 2014年02月16日 20:52
  • 2242

使用crunch生成密码字典

kali中crunch的路径为 /usr/share/crunch 一.基础知识: 1.特殊标记字符: '%' 插入数字 '@' 插入小写字母 ',' 插入大写字母 '^' 插入符...
  • weilijia13
  • weilijia13
  • 2017年04月14日 20:39
  • 308

Crunch字典生成器的使用

案例1: crunch 1 8 #生成最小1位,最大8位,由26个小写字母为元素的所有组合   案例2: crunch 1 6 abcdefg #生成 最小为1,最大为6.由abcdefg...
  • GenteelDevil
  • GenteelDevil
  • 2017年03月04日 09:54
  • 336

c++与Tcl通过管道通信,并传递参数,获取测试仪实时测试进度

目前,我在做测试自动化的项目,要用到smartbits,bps,testcenter和mu测试仪。通过调用测试仪提供的TCL API操作测试仪,从而实现测试用例的具体流程。我们用测试仪测试TOE时...
  • Augusdi
  • Augusdi
  • 2015年08月22日 20:43
  • 1541
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用TCL编写了一个生成密码字典的小测试程序,共享一下
举报原因:
原因补充:

(最多只允许输入30个字)