博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
暴力破解算法,基本实现
阅读量:5245 次
发布时间:2019-06-14

本文共 1924 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.Text;namespace 暴力算法{    class Program    {        static void Main(string[] args)        {            int maxLength = 5; //设置可能最长的密码长度              Password.CrackPass(maxLength);          }    }    class Password    {        //密码可能会包含的字符集合          //static char[] charSource = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',            //                     'n',  'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };        static char[] charSource = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};        static int sLength = charSource.Length; //字符集长度           //得到密码长度从 1到maxLength的所有不同长的密码集合          public static void CrackPass(int maxLength)        {            for (int i = 1; i <= maxLength; i++)            {                char[] list = new char[i];                Crack(list, i);            }        }        //得到长度为len所有的密码组合,在字符集charSource中          //递归表达式:fn(n)=fn(n-1)*sLenght; 大致是这个意思吧           private static void Crack(char[] list, int len)          {              if (len == 0)              {  //递归出口,list char[] 转换为字符串,并打印                  Console.WriteLine(ArrayToString(list));              }              else              {                  for (int i = 0; i < sLength; i++)                  {                      list[len - 1] = charSource[i];                      Crack(list, len - 1);                  }              }                  }        //list char[] 转换为字符串          private static String ArrayToString(char[] list)        {            if (list == null || list.Length == 0)                return "";            StringBuilder buider = new StringBuilder(list.Length * 2);            for (int i = 0; i < list.Length; i++)            {                buider.Append(list[i]);            }            return buider.ToString();        }    }}

转载于:https://www.cnblogs.com/zhujunxxxxx/p/3344870.html

你可能感兴趣的文章
poj 3164 最小树形图(朱刘算法)
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
解决php -v查看到版本与phpinfo()版本不一致问题
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>