Генератор паролей

Discussion in 'Болталка' started by TambWolf, 15 Aug 2011.

  1. TambWolf

    TambWolf New Member

    Joined:
    22 May 2009
    Messages:
    29
    Likes Received:
    1
    Reputations:
    0
    Подскажите пожалуйста генератор с помощью которого можно реализовать следующие:
    Есть несколько слов, например:
    Abc
    abc
    qwe
    А программа должна сгенетировать все возможные варианты порядка этих слов с фиксированной длинной (например 9-12), причем повторы разрешены. Т е в итоге должно получиться что-то типа этого (только список куда богаче):
    abcabcabcabc
    Abcabcabcabc
    abcqweAbc
    qweqweqweAbc
    Abcabcqweqwe
     
  2. alias6969

    alias6969 Member

    Joined:
    3 Apr 2011
    Messages:
    27
    Likes Received:
    11
    Reputations:
    6
    Когда-то вспоминал кенту пароль от контейнера truecrypt - он помнил, какие слова мог использовать, но не помнил, в каком порядке и для составления словаря для брута я искал такого рода прогу. Не нашел, накарябал как умею на сях. Вот код. Он генерит сочетания без повторений из набора слов по 1,2,3... элементов, можно ручками допилить до сочетаний с повторениями по n - твой случай.
     
  3. alias6969

    alias6969 Member

    Joined:
    3 Apr 2011
    Messages:
    27
    Likes Received:
    11
    Reputations:
    6
  4. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,362
    Likes Received:
    1,041
    Reputations:
    356
    когда то изучал яваскрипт. вот тебе исходник с комментариями. там легко подправить под свои нужды.
    HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <meta http-equiv="content-type" content="text/html; charset=windows-1251">
        <meta name="generator" content="PSPad editor, www.pspad.com">
        <title>laba 6 na 4 & 5
        </title>
        <style type="text/css">    body{     background-color: grey;     font-family: Arial,Helvetica,sans-serif     color: white;     }     TABLE { color: white;}     td  { border:white solid 1px cellspacing="0" }     h1 {color:goldenrod    }
        </style>
    <script type="text/javascript">
    function getrandom()
    {
    var A = new Array ("A","B","C","D","E", "F","G","H","I","J","K","L", "M","N","O","P","Q","R","S", "T","U","V","W","Y","Z");
    var b = new Array ("a","b","c","d","e", "f","g","h","i","j","k","l", "m","n","o","p","q","r","s", "t","u","v","w","y","z");
    var dig = new Array ("0","1","2","3","4", "5","6","7","8","9");
    var m = new Array();
    var count = document.forms[0].elements['count'].value;
    var vsego = document.forms[0].elements['vsego'].value;
    var pass="" ;
    var r,i=0;
    var reg=/^\d+$/;
    if (!reg.test(count)) //проверяет, чтобы в поле были введены только десятичные цифры.
    {   alert('Введите цифрами длину пароля!');   //если поле пустое алерт
            return; }
    if (count>25)   //проверяем длину
    {   alert('Введите число меньше 26');
           return;}
    if (!reg.test(vsego)) //проверяет, чтобы в поле были введены только десятичные цифры.
    {   alert('Введите цифрами сколько надо паролей!');  //если поле пустое алерт
           return; }
    if( document.getElementById("1").checked){m = m.concat(A);}  //проверяем какие чекбоксы отметили
    if (document.getElementById("2").checked){ m = m.concat(b);}
    if (document.getElementById("3").checked){ m = m.concat(dig);}
    if (m.length==0)    //если чекбоксы не отмечены алерт и ехит
    {  alert('отметьте какие символы использовать');  return;}
    for (r=0;r<vsego;r++){     //выводим пароли
    while (i<count)
    {
      pass += m[Math.floor(Math.random() * m.length)]  ; //рандомим пароль
      i++;                              }
      pass+= "<br>";   // переводим на следующую строку. иначе хз как
    document.getElementById('qqq').innerHTML =pass  ; //выводим пароль в нужное поле
      i=0;                }
    }  //end fuction
      </script>
      </head>
    
      <body>
        <tr>
          <td colspan="2" >
            <h1 align="center" ><b>Генератор пароля </b>  </h1>     </td>
        </tr>
        <form>
          <table width="300"   align="center"  border="1"  bgcolor="DarkRed" cellpadding="10" cellspacing="0"   >
    
            <tbody>
              <tr>
                <td width='75%' align="right">Введите длину пароля:</td>
                <td  >
                  <input name="count" size="5" type="text" maxlength="2" >  </td>
              </tr>
              <tr>
                <td width='75%' align="right">Сколько паролей:</td>
    
                <td  >
                  <input name="vsego" size="5" type="text" maxlength="2" >  </td>
              </tr>
              <tr>
                <td align="right">  A-Z</td>                  <td>
                  <input name="hi" type="checkbox" id="1">
                  <br> </td>
    
              </tr>
              <tr>
                <td align="right"> a-z</td>                        <td>
                  <input name="slow" type="checkbox" id="2">
                  <br>   </td>
              </tr>
              <tr>
    
                <td align="right">  0-9</td>                               <td>
                  <input name="num" type="checkbox" id="3">
                  <br> </td>
              </tr>
              <tr>
                <td colspan="2" align="right">
                  <input   value="Сброс" type="reset">
    
                  <input value="Генерировать" type="button" name="generate"  onClick="getrandom();">                       </td>
              </tr>
            </tbody>
          </table>
          <br>
          <br>
          <table width="300"   align="center"  border="1"  bgcolor="DarkRed" cellpadding="10" cellspacing="0"   >
            <tbody>
    
              <tr>
                <td height="80px" solid=5px  colspan="2" align="center" >
                  <p id="qqq">Результат
                  </p></td>
              </tr>
            </tbody>
          </table>
        </form>
      </body>
    
    </html>
     
    _________________________