За последние 24 часа нас посетил 18131 программист и 1684 робота. Сейчас ищут 1119 программистов ...

Генератор человеческих паролей (JavaScript)

Тема в разделе "Решения, алгоритмы", создана пользователем <?=RPG?>, 24 фев 2011.

  1. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Не скрою, что запомнить и тем более набрать пароль вроде "fP*7h(!e4$Sl_|@" достаточно неприятно, даже если ты параноик, кроме того существует риск такими шуточками вызвать какого-нибудь демона:).

    По сему принялся писать генератор паролей, да таких, чтобы их можно было прочитать, запомнить и тем не менее надежных. Гораздо легче запомнить простой пароль из 10-25 символов, нежели сложный из 6-8.

    Примеры таких паролей. Попадаются весьма прикольные:)
    stoboklaNa
    ruCucoBaxa
    spaMykyleP
    studroraCe
    ciJuvrujam
    steNinubuV
    Cawelkatri
    Код (Text):
    1.  
    2. function makeRand(max) {
    3.   return Math.floor(Math.random()*max);
    4. }
    5.  
    6. function generatePw(len) {
    7.   var c1="bcdfghjklmnpqrstvwxz"; //согласные, можно также учитывать частоту их использования
    8.   var c2 = "kl|lk|st|str|sp|pr|scr|dr|kr|tr|vr".split('|'); //произносимые согласные из нескольких букв
    9.   var v="aaaeeeiiooouuy"; //гласные, учитывается частота использования
    10.   var pw="";
    11.   var i =0;
    12.   while (pw.length < len) {
    13.     switch (i%2) {
    14.     case 0:
    15.       var cc1 = c1.substr(makeRand(c1.length), 1);
    16.       cc1 = makeRand(3)==0 ? cc1.toUpperCase() : cc1;
    17.       var cc2 = c2[makeRand(c2.length)];
    18.       if(pw.length + cc2.length < len) pw += makeRand(3)==0 ? cc2 : cc1;
    19.       else pw+=cc1;
    20.       break;
    21.     default:
    22.       pw+=v.substr(makeRand(v.length), 1);
    23.       break;
    24.     }
    25.     i++;
    26.   }
    27.   return pw;
    28. }
     
  2. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    черезтридцатьтризабораногузадерищенко?
     
  3. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Опечатка - 10-15. А у вас и вовсе 37
     
  4. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    да я к тому, что пару сложных паролей от почты да от чего-нибудь еще можно запомнить, а в 50 мест, где ты регистрируешься for fun, сложные пароли не особо нужны.
     
  5. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Я даже один сложный не пытаюсь запомнить, а человеческие пароли и легко запоминаются и быстро набираются. Мне приходится держать в голове не один десяток паролей, так что это необходимость.