阅 读 文 章

C源码:生成一个自己的口令字典

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

    使用一个单词文件,本程序只考虑单个单词的大小写变形和两个变形单词的组合,由此生成一个字典,
    例如对于hello和unix两个单词的单词文件,本程序可生成:
hello
Hello
HELLO
unix
Unix
UNIX
hellounix
helloUnix
helloUNIX
Hellounix
HelloUnix
HelloUNIX
HELLOunix
HELLOUnix
HELLOUNIX
UNIXHELLO
UNIXhello
UNIXHello
unixHELLO
unixhello
unixHello
UnixHELLO
Unixhello
UnixHello
    由此可见,我这种简单的方法能生成的口令字典也是很大的。如果你的口令能在这种字典中找到,那么
    被别人破解也是几秒钟的事情!
    单词文件 PWDICT.PWS 举例如下:
root
2000
server
sco
unix
hello
    运行程序命令是: PWDICT.EXE < PWDICT.PWS > PWDICT.DIC
    本程序使用了递归和输入、输出重定向。
    PWDICT.C 源程序如下:(单词文件最多支持300个单词,每个单词最长20个字符)

/* pwdict.c --- Generate passwd dict
   M.L.Y 2001.2
*/

#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define MAX_STRING_LEN             20
#define MAX_PWS                    300

char *upperstr(char *str)
{
  int  i, n;

  n = strlen((char *)str);
  for(i = 0; i < n; i++)
    str[i] = toupper(str[i]);
  return str;
}

char *lowerstr(char *str)
{
  int  i, n;

  n = strlen((char *)str);
  for(i = 0; i < n; i++)
    str[i] = tolower(str[i]);
  return str;
}

char *capstr(char *str)
{
  str[0] = toupper(str[0]);
  return str;
}

int  disp_pd(char *s1, char *s2)
{
  int n1, n2;

  n1 = strlen(s1);
  n2 = strlen(s2);
  if(n1 == 0 && n2 == 0) return 0;
  if(n1 == 0 || n2 == 0) return printf("%s%s\n", s1, s2);
  printf("%s%s\n", s1, s2);
  printf("%s%s\n", s2, s1);
  return 1;
}

int  gen_pd2s(char *s1, char *s2, int mode)
{
  char ts1[MAX_STRING_LEN+1], ts2[MAX_STRING_LEN+1];
  int  k1 = 0, k2 = 0, n1, n2;
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 口令 自己 一个 生成 源码 if s1 s2 ts2 char ts1 str

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.