Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36731
  • 博文数量: 5
  • 博客积分: 275
  • 博客等级: 二等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 14:31
文章分类
文章存档

2014年(1)

2010年(2)

2009年(2)

我的朋友

分类: JavaScript

2014-01-19 21:19:57

代码如下,复制另存为.html文件即可运行。

点击(此处)折叠或打开

  1. <html>
  2. <script>
  3. function EnumCheckPwd()
  4. {
  5.     var checkNext = true;
  6.     var pos = maxPwdNum - 1;
  7.     while(pos >= 0)
  8.     {
  9.         guessPwdPos[pos] ++;
  10.         if(guessPwdPos[pos] >= dictNum)
  11.         {
  12.             guessPwdPos[pos] = 0;
  13.             pos --;
  14.         }else{
  15.             break;
  16.         }
  17.     }
  18.     for(var i in guessPwdPos)
  19.     {
  20.         guessPwd[i] = dict[guessPwdPos[i]];
  21.     }
  22.     if(guessPwd.toString() == pwd.toString())
  23.     {
  24.         //show.value = guessPwd.join("");
  25.         alert("Get pwd:" + guessPwd.join(""));
  26.         clearInterval(dispTimer);
  27.         return;
  28.     }else{
  29.         count ++;
  30.         setTimeout(EnumCheckPwd, 0);
  31.     }
  32. }
  33. function CheckPwd()
  34. {
  35.      dict = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t',
  36.     'u','v','w','x','y','z');
  37.      dictNum = 26;
  38.      maxPwdNum = 4;
  39.      count = 0;
  40.      pwd = new Array('a','b','a','a');
  41.      temp = new Array();
  42.      guessPwdPos = new Array();
  43.      for(var i = 0; i < maxPwdNum; i ++){
  44.         guessPwdPos[i] = 0;
  45.      }
  46.      guessPwdPos[maxPwdNum-1] = -1;
  47.      guessPwd = new Array();
  48.      var maxPwd = Math.pow(dictNum, maxPwdNum);
  49.      setTimeout(function(){EnumCheckPwd();}, 10);
  50.      dispTimer = setInterval(function(){show.value= count + ":" + parseFloat(count/maxPwd*100).toFixed(2)+ "%" + ":"+ guessPwd.join("");}, 1000);
  51.      
  52. }
  53. </script>
  54. <input type="button" value="StartCrack" onclick = "CheckPwd()"/>
  55. <input type="textarea" id = "show"/>
  56. </html>
本代码演示了用js暴力破解密码的简单使用,函数EnumCheckPwd循环枚举字典中的所有排列,并与真实密码对比,如对比成功则认为破解成功。显示区每隔1000ms,显示当前破解状态,运行看出,js每秒破解的数量级在10^3次每秒左右,效率还是蛮低的。
阅读(4146) | 评论(0) | 转发(0) |
0

上一篇:Linux下android开发环境搭建

下一篇:没有了

给主人留下些什么吧!~~